Intégration backend
AM expose des clés publiques via JWKS et la configuration via la découverte OIDC, des protocoles standards utilisables par n’importe quelle bibliothèque JWT.
Vérifiez les jetons localement, faites confiance aux claims et autorisez les requêtes.
Flux de vérification des jetons
Endpoints
| Endpoint | But |
|---|---|
/.well-known/jwks.json | Clés de signature publiques |
/.well-known/openid-configuration | Document de découverte OIDC |
/oauth2/introspect | Introspection des refresh tokens |
JWKS
Récupérez les clés publiques pour une vérification locale :
GET /.well-known/jwks.json
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "key_...",
"alg": "RS256",
"n": "0vx7agoebG...",
"e": "AQAB"
}
]
}
Plusieurs clés peuvent être présentes pendant une rotation. Faites la correspondance via le claim kid de l’en-tête JWT.
Découverte OIDC
Auto-configurez les clients avec le document de découverte :
GET /.well-known/openid-configuration
Retourne les endpoints, les algorithmes pris en charge et les capacités selon la spécification OpenID Connect Discovery.
Claims JWT
Les jetons vérifiés contiennent :
| Claim | Description |
|---|---|
iss | URL de l’émetteur |
sub | Sujet (ID utilisateur ou ID client) |
aud | Audience visée |
exp | Expiration (timestamp Unix) |
iat | Date d’émission (timestamp Unix) |
scope | Permissions accordées |
cid | ID client |
app | ID application |
acc | ID du compte courant |
uid | ID utilisateur (si utilisateur authentifié) |
role | Rôle dans le compte courant |
Caching
- Mettez en cache les réponses JWKS (utilisez ETag/If-None-Match)
- Rafraîchissez en cas d’échec de vérification de signature (rotation de clé)
- TTL typique : 1 heure
Introspection de jeton
Pour les refresh tokens ou quand vous avez besoin d’une validation autoritative :
POST /oauth2/introspect
Content-Type: application/x-www-form-urlencoded
token=...&client_id=...&client_secret=...
Retourne active: true/false et les claims du jeton. Les access tokens sont des JWT et doivent être vérifiés localement via JWKS quand c’est possible.
Liés
- OAuth - Émission de jetons
- Clients - Configuration des clients
- Clé client - Clés de signature