bouncer/doc/fr/references/layers/authn/oidc.md
William Petit fea0610346
All checks were successful
Cadoles/bouncer/pipeline/pr-develop This commit looks good
feat: reusable rule engine to prevent memory reallocation
2024-09-24 18:45:34 +02:00

3.5 KiB

Layer authn-oidc

Description

Ce layer permet d'ajouter une authentification OpenID Connect au service distant.

Voir le tutoriel "Ajouter une authentification OpenID Connect" pour plus d'informations quant à son utilisation.

Type

authn-oidc

Schéma des options

Les options disponibles pour le layer sont décrites via un schéma JSON. Elles sont documentées dans le schéma visible ici.

En plus de ces options spécifiques le layer peut également être configuré via les options communes aux layers authn-*.

Objet vars.user et attributs

L'objet vars.user exposé au moteur de règles sera construit de la manière suivante:

  • vars.user.subject sera initialisé avec la valeur du claim sub extrait de l'idToken récupéré lors de l'authentification ;

  • vars.user.attrs comportera les propriétés suivantes:

    • L'ensemble des claims provenant de l'idToken seront transposés en claim_<name> (ex: idToken.iss sera transposé en vars.user.attrs.claim_iss) ;

    • vars.user.attrs.access_token: le jeton d'accès associé à l'authentification ;

    • vars.user.attrs.refresh_token: le jeton de rafraîchissement associé à l'authentification (si disponible, en fonction des scopes demandés par le client) ;

    • vars.user.attrs.token_expiry: Horodatage Unix (en secondes) associé à la date d'expiration du jeton d'accès ;

    • vars.user.attrs.logout_url: URL de déconnexion pour la suppression de la session Bouncer.

      Attention Cette URL ne permet dans la plupart des cas que de supprimer la session côté Bouncer. La suppression de la session côté fournisseur d'identité est conditionné à la présence ou non de l'attribut end_session_endpoint dans les données du point d'entrée de découverte de service (.wellknown/openid-configuration).

Métriques

Les métriques Prometheus suivantes sont exposées par ce layer.

bouncer_layer_authn_oidc_login_requests_total{layer=<layerName>,proxy=<proxyName>}

  • Type: counter

  • Description: Nombre total de demandes d'authentification

  • Exemple

    # HELP bouncer_layer_authn_oidc_login_requests_total Bouncer's authn-oidc layer total login requests
    # TYPE bouncer_layer_authn_oidc_login_requests_total counter
    bouncer_layer_authn_oidc_login_requests_total{layer="my-layer",proxy="my-proxy"} 1
    

bouncer_layer_authn_oidc_login_successes_total{layer=<layerName>,proxy=<proxyName>}

  • Type: counter

  • Description: Nombre total d'authentifications réussies

  • Exemple

    # HELP bouncer_layer_authn_oidc_login_successes_total Bouncer's authn-oidc layer total login successes
    # TYPE bouncer_layer_authn_oidc_login_successes_total counter
    bouncer_layer_authn_oidc_login_successes_total{layer="my-layer",proxy="my-proxy"} 1
    

bouncer_layer_authn_oidc_logout_total{layer=<layerName>,proxy=<proxyName>}

  • Type: counter

  • Description: Nombre total de déconnexions

  • Exemple

    # HELP bouncer_layer_authn_oidc_logout_total Bouncer's authn-oidc layer total logouts
    # TYPE bouncer_layer_authn_oidc_logout_total counter
    bouncer_layer_authn_oidc_logout_total{layer="my-layer",proxy="my-proxy"} 1