Clé client
Une clé client est une paire de clés cryptographiques utilisée pour signer les jetons. La clé publique est exposée via JWKS pour vérification ; la clé privée n’est jamais exposée.
Schéma
interface ClientKey {
kid: string; // Key ID used in JWT headers
credential_id: string; // Client ID (cid...)
jwk: object; // Public JWK
public_key: string; // PEM public key
}
Propriétés
| Propriété | Type | Description |
|---|---|---|
kid | string | ID de clé (kid dans l’en-tête JWT) |
credential_id | string | Client auquel cette clé appartient |
jwk | object | Représentation JWK publique |
public_key | string | Clé publique au format PEM |
Représentation JWKS
Clés publiques exposées à /.well-known/jwks.json :
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "key_2kHfPZcN9xW4mE8RtY7vB",
"alg": "RS256",
"n": "0vx7agoebG...",
"e": "AQAB"
}
]
}
Rotation des clés
Bonnes pratiques :
- Faites tourner les clés périodiquement
- Conservez 2 à 4 clés actives pendant la transition
- Les anciennes clés restent dans JWKS pour la vérification des jetons
Exemple
{
"kid": "key_2kHfPZcN9xW4mE8RtY7vB",
"credential_id": "cid_1jGePYbM8wV3lD7QsX6uA",
"jwk": { "kty": "RSA", "kid": "key_..." },
"public_key": "-----BEGIN PUBLIC KEY-----..."
}
Liés
- Client - Configuration client
- Clients - Gestion des clients
- Intégration backend - Vérification des jetons