Utviklere

Autentisering

Formatet på API-nøkler, tillatelser og teamtilgang, tilbakekalling og IP-begrensninger.

Oversikt

Hver forespørsel har med en personlig API-nøkkel. Nøkkelen sier hvem som kaller, og API-et svarer med det den personen kan lese. Du oppretter og tilbakekaller nøkler under Innstillinger → Sikkerhet og tilgang → Personlige API-nøkler.

Nøkkelformatet

En nøkkel er 46 tegn: attia_api_, 30 tilfeldige bokstaver og sifre, og til slutt en kontrollsum på 6 tegn.

attia_api_ + 30 tilfeldige tegn + kontrollsum på 6 tegn

Kontrollsummen er en CRC-32 av de 40 tegnene foran den. API-et sjekker prefikset og kontrollsummen før det slår opp nøkkelen, så en feilskrevet nøkkel får invalid-api-key med en gang. Det faste prefikset og kontrollsummen gjør det også mulig for en hemmelighetsskanner å kjenne igjen en nøkkel som har lekket ut i kode eller en logg.

Attia lagrer en hash av nøkkelen, aldri selve nøkkelen. Nøkkellisten viser bare de første tegnene, så kopier nøkkelen når Attia viser den etter at du har opprettet den.

Send nøkkelen

Send nøkkelen i Authorization-headeren som et bearer-token. Nøkkelen alene, uten Bearer, virker også.

curl https://attia.app/api/v1/jobs \  -H "Authorization: Bearer $ATTIA_API_KEY"

En forespørsel uten nøkkel får invalid-api-key med status 401 og headeren WWW-Authenticate: Bearer.

Kall API-et fra en server eller et skript, aldri fra en nettside. API-et avviser et kall fra en nettleser med browser-not-allowed før det leser nøkkelen, og det sender ingen CORS-headere. En nøkkel hører hjemme på en server: en nøkkel i kildekoden til en side kan hvem som helst kopiere.

Tillatelser

Nøkkelen handler som deg. Den leser det du selv kan lese i arbeidsområdet, og aldri mer. Når du oppretter den, kan du begrense den ytterligere.

  • Tillatelser: Full tilgang, eller et utvalg av Lese, Skrive og Admin. Alle operasjoner i versjon 1 leser, så en nøkkel trenger Lese.
  • Teamtilgang: alle team du har tilgang til, eller bare teamene du velger. En nøkkel som er begrenset til noen team, gir bare stillinger som minst ett av disse teamene har tilgang til.

En gyldig nøkkel uten tillatelsen en operasjon krever, får insufficient-scope.

Tilbakekall en nøkkel

Bruk Tilbakekall API-nøkkel i menyen til nøkkelen under Innstillinger → Sikkerhet og tilgang → Personlige API-nøkler. Nøkkelen slutter å virke med en gang, og neste forespørsel med den får invalid-api-key.

En nøkkel slutter også å virke når du forlater arbeidsområdet, eller når arbeidsområdet blir slettet. API-et svarer likt i begge tilfeller, så en klient kan ikke skille en tilbakekalt nøkkel fra en som aldri har eksistert.

Utløp

En nøkkel du oppretter i Innstillinger, har ingen utløpsdato og virker til den blir tilbakekalt. En nøkkel som har passert utløpsdatoen sin, får invalid-api-key, slik en tilbakekalt nøkkel gjør.

IP-begrensninger

Hvis arbeidsområdet begrenser tilgang etter IP-adresse, gjelder den samme listen for API-kall. Et kall fra en annen adresse får ip-not-allowed. Eiere av arbeidsområdet er unntatt, slik de er i appen.