Rechercher dans la documentation

Recherchez des pages et des sections dans la documentation.

Aller au contenu

Intégration · Guide pratique

OAuth et OIDC

Intégrez le flux par code, PKCE, la découverte standard, les portées et une gestion sûre des jetons.

Krakstack Auth publie les métadonnées OpenID Connect et OAuth et prend en charge le flux par code d'autorisation. Utilisez une bibliothèque OAuth/OIDC maintenue plutôt que d'implémenter manuellement les requêtes et la validation.

Enregistrer un client#

Dans Administration > Clients, configurez :

  • Un nom d'affichage reconnaissable
  • Des URI de redirection exactes, incluant protocole, hôte, chemin et port
  • Les portées minimales : openid, profile, email et éventuellement offline_access
  • Un projet lié facultatif pour la marque et les options de connexion

Copiez immédiatement l'identifiant et le secret. Le secret n'est affiché qu'une fois et reste dans un coffre serveur. Les clients créés actuellement sont des clients Web confidentiels utilisant client_secret_basic et PKCE obligatoire. Les clients publics et natifs ne sont pas exposés.

Découverte#

text
Métadonnées OIDC racine : https://auth.example.com/.well-known/openid-configurationMétadonnées OAuth : https://auth.example.com/.well-known/oauth-authorization-server/api/auth

Utilisez l'issuer, les points d'autorisation et de jeton et l'URI JWKS exacts retournés. L'émetteur Better Auth peut inclure /api/auth; ne configurez pas l'origine seule si les métadonnées indiquent autre chose.

Flux d'autorisation#

  1. Générez des valeurs aléatoires state, nonce et un vérificateur PKCE.
  2. Stockez-les dans une session HttpOnly sûre et de courte durée.
  3. Redirigez vers le point d'autorisation découvert avec response_type=code.
  4. Comparez state au retour avant l'échange du code.
  5. Échangez le code côté serveur et validez l'émetteur, l'audience, la signature, le nonce et l'expiration.
  6. Créez ou renouvelez la session de l'application.

Règles des URI de redirection#

Les URI de production utilisent HTTPS et une correspondance exacte. Enregistrez localhost séparément pour le développement et retirez les rappels inutilisés.

Jetons#

Conservez les jetons hors de localStorage; préférez une session serveur chiffrée ou des témoins HttpOnly. Demandez offline_access uniquement pour un accès en arrière-plan, renouvelez les jetons de renouvellement et révoquez les identifiants lors de la déconnexion du client.