Priser
Nyheder
Opret konto
Log ind
PriserOm osKontakt osKundeudtalelser
Log indOpret kontoGlemt adgangskode?
ServicevilkårPrivatlivspolitikUdviklervilkårSikkerhedPrivatlivsindstillingerGDPR
NyhederFunktionerHjælpecenterSystemstatus
iOS-appAndroid-appWebapp

Godkendelse

API'et bruger OAuth 2.0 med PKCE til godkendelse.

Advarsel

Basic-godkendelse udfases og fjernes i en fremtidig opdatering. Skift til OAuth 2.0.

Sådan fungerer det

  1. Du opretter en OAuth-applikation én gang for at få et client_id
  2. Du omdirigerer brugeren til autorisationsslutpunktet, hvor brugeren logger ind
  3. Du modtager en autorisationskode, som du bytter til et adgangstoken og et opdateringstoken
  4. Du bruger adgangstokenet til at foretage API-anmodninger

De fleste klientbiblioteker til OAuth 2.0 håndterer dette flow automatisk, når du peger dem mod serverens metadataslutpunkt /.well-known/oauth-authorization-server.

Alle slutpunkter nedenfor er relative til https://api.attendium.com.

Opret din OAuth-applikation

Opret en OAuth-applikation i Attendium for at få dit client_id og din client_secret, hvis det er en fortrolig applikation. Du behøver kun at gøre det én gang pr. applikation. Se OAuth-applikationer.

Omdirigerings-URI'er skal bruge https eller http med en loopback-adresse (localhost, 127.0.0.1 eller ::1) til lokal udvikling. En offentlig applikation kan også bruge et privat URI-skema i omvendt domænenotation, f.eks. com.example.app:/oauth/callback.

Ved at oprette en OAuth-applikation – i Attendium eller via dynamisk klientregistrering – accepterer du udviklervilkårene i den version, der var offentliggjort på det tidspunkt.

Autoriser

Generer en PKCE-kodeverifikator og en kodeudfordring:

  1. Opret en tilfældig streng (43–128 tegn blandt A-Z, a-z, 0-9, -, ., _, ~) – det er din code_verifier
  2. Beregn SHA-256-hashværdien af verifikatoren, og base64url-kod den – det er din code_challenge

Omdiriger derefter brugeren til:

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

Brugeren logger ind på Attendium og omdirigeres tilbage til din redirect_uri med en autorisationskode (code) og din state-værdi.

Byt koden til tokens

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 fortrolig applikation skal også godkende sig selv, enten med Basic-godkendelse (client_secret_basic) eller ved at sende client_secret i anmodningens brødtekst (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 indeholder et access_token og et refresh_token.

Foretag API-anmodninger

Medtag adgangstokenet i headeren Authorization:

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

Forny adgangstokenet

Tokensvaret indeholder feltet expires_in, som angiver, hvor længe adgangstokenet er gyldigt. Brug opdateringstokenet til at hente et nyt adgangstoken, før det nuværende udløber:

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

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

I denne anmodning godkender en fortrolig applikation sig på samme måde som ved ombytningen af autorisationskoden.

Dynamisk klientregistrering

Applikationer, der konfigurerer sig selv ud fra servermetadataene – herunder AI-assistenter, der opretter forbindelse via MCP (se Konfigurer MCP) – registrerer sig ved at sende en POST-anmodning til /oauth2/register. Det behøver du ikke, hvis du opretter 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, der er registreret på denne måde, vises ikke under ”OAuth-applikationer”, så dens navn, omdirigerings-URI'er og klienthemmelighed kan ikke ændres der.

Læs mere

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