# 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:** ```yaml # 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 - [`authn-oidc`](./oidc.md) - Authentification OpenID Connect