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

HeaderVerdiNår
AuthorizationBearer <jwt>På alle beskyttede endepunkt
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. 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