DOCS

OAuth 2.0-autentisering

Autentiser dine bakendtjenester med Zonos ved hjelp av asymmetrisk nøkkelkryptografi — ingen delte hemmeligheter.

Zonos støtter maskin-til-maskin-autentisering via OAuth 2.0 JWT Bearer Token Grant (RFC 7523). Tjenesten din signerer en kortvarig JWT med din private RSA-nøkkel; Zonos bekrefter den ved hjelp av din registrerte offentlige nøkkel og returnerer en Bearer-token som er begrenset til organisasjonen din.

Flytsammendrag:

  1. Generer et RSA-nøkkelpar og registrer din offentlige nøkkel med Zonos.
  2. Under kjøring signerer du en JWT-påstand med din private nøkkel og POSTER den til token-endepunktet.
  3. Zonos returnerer en kortvarig tilgangstoken.
  4. Inkluder tilgangstokenen som Authorization: Bearer <token> på hver API-forespørsel.

Tokenlevetid og caching 

Tilgangstokener utløper etter 5 minutter som standard. Cache tokenen og oppfrisk proaktivt — ikke be om et nytt token på hver API-anrop. Hver oppfrisking krever en nysignert JWT-påstand.

1import time, requests
2 
3_cache = {"access_token": None, "expires_at": 0}
4 
5def get_access_token():
6 if time.time() < _cache["expires_at"] - 30:
7 return _cache["access_token"]
8 
9 assertion = build_jwt_assertion()
10 data = requests.post(
11 "https://auth.zonos.com/oauth/token",
12 json={
13 "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer",
14 "assertion": assertion,
15 },
16 ).json()
17 
18 _cache["access_token"] = data["access_token"]
19 _cache["expires_at"] = time.time() + data["expires_in"]
20 return _cache["access_token"]

Feilreferanse 

Alle feil følger OAuth 2.0-feilresponsformatet (RFC 6749 §5.2):

1{
2 "error": "invalid_grant",
3 "error_description": "JWT assertion has expired"
4}
HTTP-statuserrorÅrsak
400unsupported_grant_typegrant_type var ikke urn:ietf:params:oauth:grant-type:jwt-bearer
400invalid_requestManglende eller dårlig utformet felt
401invalid_grantUgyldig signatur, utløpt påstand, ukjent org, eller uregistrert nøkkel
500server_errorIntern feil — kontakt Zonos-støtte hvis vedvarende

Vanlige årsaker til invalid_grant:

  • exp er i fortiden — sørg for at systemklokken din er NTP-synkronisert
  • aud er ikke nøyaktig "zonos-auth"
  • iss samsvarer ikke med din registrerte organisasjons-ID
  • Offentlig nøkkel ble rotert men ikke oppdatert med Zonos ennå

Beste praksis for sikkerhet 

  • Beskytt den private nøkkelen din. Lagre den i en dedikert hemmelighetsbehandler — aldri i versjonskontroll, miljøvariabler eller logger.
  • Hold påstander kortvarige. 60–300 sekunder er standard; det er ingen grunn til å utstede lengre.
  • Inkluder jti. En unik verdi per påstand gjør det mulig å oppdage gjentaking på serversiden.
  • Roter nøkkelpar med jevne mellomrom. Registrer en ny offentlig nøkkel med Zonos før du tilbakekaller den gamle for å unngå nedetid.
  • Logg aldri access_token eller assertion-verdier. Behandle begge som legitimasjon.
Bestill en demo

Var denne siden nyttig?