bouncer/doc/fr/references/layers/authn
wpetit ee02a666a9
Cadoles/bouncer/pipeline/head This commit looks good Details
Cadoles/bouncer/pipeline/pr-develop This commit looks good Details
feat: new openid connect authentication layer
2024-05-15 17:02:46 +02:00
..
README.md feat: new openid connect authentication layer 2024-05-15 17:02:46 +02:00
oidc.md feat: new openid connect authentication layer 2024-05-15 17:02:46 +02:00

README.md

Les layers authn-*

Les layers authn-* permettent d'activer différents modes d'authentification au sein d'un proxy Bouncer.

Les informations liées à l'utilisateur authentifié sont ensuite injectables dans les entêtes HTTP de la requête permettant ainsi une authentification unique("SSO") basée sur les entêtes HTTP ("Trusted headers SSO").

Options communes

Tous les layers authn-* partagent un certain nombre d'options communes.

matchURLs

  • Type: []string

  • Valeur par défaut: ["*"]

  • Description: Limiter l'action du layer à cette liste de patrons d'URLs.

    Par exemple, si vous souhaitez limiter votre file à l'ensemble d'une section "/blog" d'un site, vous pouvez déclarer la valeur ["*/blog*"]. Les autres URLs du site ne seront pas affectées par ce layer.

headers.rules

  • Type: []string
  • Valeur par défaut:
    # Voir internal/proxy/director/layer/authn/layer_options.go
    - del_headers('Remote-*')
    - set_header('Remote-User', lower(user.subject))
    - set_header('Remote-Name', user.attrs.claim_name != nil ? user.attrs.claim_name : '')
    - user.attrs.claim_groups != nil ? set_header('Remote-Groups', join(user.attrs.claim_groups, ',')) : nil
    - set_header('Remote-Email', user.attrs.claim_email != nil ? user.attrs.claim_email : '')
    - |
      map(
          toPairs(user.attrs), {
              let name = replace(lower(string(get(#, 0))), '_', '-');
              set_header(
                  'Remote-User-Attr-' + name,
                  get(#, 1)
              )
          }
      )  
    
  • Description: Liste des règles d'injection d'entêtes HTTP. Voir la section Règles d'injection d'entêtes pour plus de détails.

Layers