bouncer/doc/fr/references/layers/authn/README.md

46 lines
1.7 KiB
Markdown

# 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