Autentisering
De åpne endepunktene for taksonomi og tjenestesøk krever ingen innlogging. Alt annet er beskyttet. Hver forespørsel må ha et gyldig token fra Sirkteks innloggingstjeneste. Forespørsler som gjelder én organisasjons data må i tillegg si hvilken organisasjon det er.
De to headerne
| Header | Verdi | Når |
|---|---|---|
Authorization | Bearer <jwt> | På alle beskyttede endepunkt |
X-auth-owner | organisasjons-ID | På alle organisasjonsavgrensede endepunkt |
Innloggingstjenesten er https://auth2.sirktek.com. Endepunktene finner du i
OIDC-dokumentet:
https://auth2.sirktek.com/.well-known/openid-configuration
Maskin-til-maskin: API-nøkkel
Et system som kjører uten en innlogget bruker autentiserer seg med en API-nøkkel. Det er en klient-ID og en klienthemmelighet du oppretter i Sirktek-administrasjonen.
Hent et token med client_credentials:
curl -X POST https://auth2.sirktek.com/protocol/openid-connect/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=DIN_KLIENT_ID" \
-d "client_secret=DIN_KLIENTHEMMELIGHET" \
-d "resource=https://api.sirktek.com"
Svaret inneholder access_token. Bruk det på neste kall:
curl https://api.sirktek.com/orgadmin/v1/DIN_ORG/service \
-H "Authorization: Bearer DITT_TOKEN" \
-H "X-auth-owner: DIN_ORGANISASJONS_ID"
En API-nøkkel er knyttet til én organisasjon. Organisasjons-ID-en er derfor kjent på forhånd og endrer seg ikke.
Innlogget bruker: autorisasjonskode med PKCE
Skal noen logge inn med sin egen bruker, brukes authorization_code med PKCE,
ikke client_credentials. Det gjelder webklienter og AI-assistenter som
handler på vegne av en person. Klienten må være registrert i Sirktek med sine
redirect-URI-er før den kan brukes.
Et brukertoken kan gjelde flere organisasjoner. Da må hver forespørsel si
hvilken organisasjon den gjelder gjennom X-auth-owner. Det finnes ikke noe
standardvalg.
Tokenets levetid
Tokenet har kort levetid. En integrasjon som kjører over tid må hente nytt token før det gamle utløper. Ikke vent på det første avslaget. Ikke lagre tokenet lenger enn nødvendig, og aldri i klartekst på disk.
Aldri i kode eller logg
Alle verdier i eksemplene over er plassholdere. Klienthemmeligheter, tokener og organisasjons-ID-er skal aldri sjekkes inn i kildekode, skrives til logg eller sendes i en støttehenvendelse.
Videre
- Feilhåndtering. Hva avslagene betyr.