Aller au contenu

Flux OpenID Connect

MesMy implémente le flux Authorization Code + PKCE (S256), multi-clients.

Endpoints

Tous découvrables via https://auth.mesmy.fr/.well-known/openid-configuration.

Endpoint Chemin Rôle
Discovery /.well-known/openid-configuration Métadonnées du provider.
Authorization /auth Point d'entrée du flux.
Token /token Échange du code contre les tokens.
UserInfo /me Profil de l'utilisateur (Bearer).
JWKS /jwks Clés publiques de vérification (RS256).
Introspection /token/introspection Validité d'un token.
Revocation /token/revocation Révocation d'un token.
End session /session/end Déconnexion RP-initiated.

Séquence

sequenceDiagram
    participant App as App tierce
    participant B as Navigateur
    participant M as MesMy (auth.mesmy.fr)
    App->>B: redirect /auth (client_id, PKCE challenge, redirect_uri, scope, state)
    B->>M: GET /auth
    M-->>B: pas de session → redirection vers /interaction
    B->>M: login (email + mot de passe, MFA si activé)
    M-->>B: redirect_uri?code=...
    B->>App: code
    App->>M: POST /token (code + code_verifier PKCE)
    M-->>App: id_token + access_token
    App->>M: GET /me (Bearer access_token)
    M-->>App: profil (name, email, roles, apps…)

Scopes et claims

Scope Claims renvoyés
openid sub
profile name, updated_at
email email, email_verified
phone phone_number
mesmy_roles roles, apps (identifiants des applications autorisées)

Règles de sécurité

  • PKCE S256 requis, redirect_uri validés par correspondance exacte (pas de wildcard).
  • Consentement auto-approuvé pour les clients internes de confiance.
  • Durées de vie (access, refresh, code, session) configurables depuis l'admin — voir Variables d'environnement et le back-office.