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

HeaderVerdiNår
AuthorizationBearer <jwt>Alltid
X-auth-ownerorganisasjons-IDPå 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 under organisasjonsinnstillingene i Sirktek. Trenger du hjelp, ta kontakt med [email protected].

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/v2/asset \
  -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. Gjenbruk tokenet til det nærmer seg utløp i stedet for å hente et nytt per forespørsel, men 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