Priser
Nyheter
Skapa konto
Logga in
PriserOm ossKontakta ossOmdömen
Logga inSkapa kontoGlömt lösenord?
TjänstevillkorSekretesspolicyUtvecklarvillkorSäkerhetSekretessinställningarGDPR
NyheterFunktionerHjälpcenterSystemstatus
iOS-appAndroid-appWebbapp

Autentisering

API:et använder OAuth 2.0 med PKCE för autentisering.

Obs: Basic-autentisering är föråldrad och kommer att tas bort i en framtida uppdatering. Byt till OAuth 2.0.

Så fungerar det

  1. Du skapar en OAuth-applikation en gång för att få ett client_id
  2. Du omdirigerar användaren till auktoriseringsendpointen, där användaren loggar in
  3. Du får en auktoriseringskod som du byter mot en åtkomsttoken och en uppdateringstoken
  4. Du använder åtkomsttoken för att göra API-anrop

Tips: De flesta klientbibliotek för OAuth 2.0 hanterar det här flödet automatiskt. Peka biblioteket mot serverns metadataendpoint /.well-known/oauth-authorization-server för automatisk konfiguration.

Alla endpoints nedan är relativa till https://api.attendium.com.

Skapa din OAuth-applikation

Skapa en OAuth-applikation i Attendium för att få ditt client_id, och din client_secret om det är en konfidentiell applikation. Du behöver bara göra det en gång per applikation. Se OAuth-applikationer.

Omdirigerings-URI:er måste använda https, eller http med en loopback-adress (localhost, 127.0.0.1 eller ::1) för lokal utveckling. En offentlig applikation kan också använda ett privat URI-schema i omvänd domännotation, till exempel com.example.app:/oauth/callback.

Genom att skapa en OAuth-applikation – i Attendium eller via dynamisk klientregistrering – godkänner du utvecklarvillkoren i den version som var publicerad vid tillfället.

Auktorisera

Generera en PKCE-kodverifierare och en kodutmaning:

  1. Skapa en slumpmässig sträng (43–128 tecken av A-Z, a-z, 0-9, -, ., _, ~) – det här är din code_verifier
  2. Beräkna SHA-256-hashen av verifieraren och base64url-koda den – det här är din code_challenge

Omdirigera sedan användaren till:

GET /oauth2/authorize?response_type=code
  &client_id=your-client-id
  &redirect_uri=https://yourapp.example.com/callback
  &code_challenge=your-code-challenge
  &code_challenge_method=S256
  &state=random-state-value

Användaren loggar in på Attendium och omdirigeras tillbaka till din redirect_uri med en auktoriseringskod (code) och ditt state-värde.

Byt koden mot token

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

En konfidentiell applikation måste också autentisera sig, antingen med Basic-autentisering (client_secret_basic) eller genom att skicka client_secret i anropets brödtext (client_secret_post):

POST /oauth2/token
Authorization: Basic base64(your-client-id:your-client-secret)
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

Svaret innehåller en access_token och en refresh_token.

Gör API-anrop

Skicka med åtkomsttoken i headern Authorization:

curl -H "Authorization: Bearer your-access-token" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ me { id } }"}' \
     https://api.attendium.com/graphql

Förnya åtkomsttoken

Tokensvaret innehåller fältet expires_in, som anger hur länge åtkomsttoken är giltig. Använd uppdateringstoken för att hämta en ny åtkomsttoken innan den nuvarande löper ut:

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token

En konfidentiell applikation autentiserar det här anropet på samma sätt som vid utbytet av auktoriseringskoden.

Dynamisk klientregistrering

Applikationer som konfigurerar sig själva utifrån servermetadata – bland annat AI-assistenter som ansluter via MCP, se Konfigurera MCP – registrerar sig genom att skicka ett POST-anrop till /oauth2/register. Det behöver du inte om du skapar din OAuth-applikation i Attendium.

POST /oauth2/register
Content-Type: application/json

{
  "redirect_uris": ["https://yourapp.example.com/callback"],
  "client_name": "Min applikation"
}

En applikation som registrerats på det här sättet visas inte under ”OAuth-applikationer”, så dess namn, omdirigerings-URI:er och klienthemlighet kan inte ändras där.

Vidare läsning

  • OAuth 2.0 — oauth.net
  • PKCE — RFC 7636
  • Dynamisk klientregistrering — RFC 7591
OAuth-applikationer