Autentisering
Alle API-ene er beskyttet. Hver forespørsel må ha et gyldig token fra Sirkteks innloggingstjeneste, og 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> | Alltid |
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 — en klient-ID og en klienthemmelighet du oppretter i Sirktek. Se API-nøkler.
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/assets/v1/assets \
-H "Authorization: Bearer DITT_TOKEN" \
-H "X-auth-owner: DIN_ORGANISASJONS_ID"
En API-nøkkel er knyttet til én organisasjon, så organisasjons-ID-en er kjent på forhånd og endrer seg ikke.
Innlogget bruker: autorisasjonskode med PKCE
Skal noen logge inn med sin egen bruker — en webklient, eller en AI-assistent
som handler på vegne av en person — brukes authorization_code med PKCE, ikke
client_credentials. 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 er 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 vente 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