API'et bruger OAuth 2.0 med PKCE til godkendelse.
AdvarselBasic-godkendelse udfases og fjernes i en fremtidig opdatering. Skift til OAuth 2.0.
client_idDe 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 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.
Generer en PKCE-kodeverifikator og en kodeudfordring:
A-Z, a-z, 0-9, -, ., _, ~) – det er din code_verifiercode_challengeOmdiriger 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.
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.
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
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.
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.