63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
|
# Ajouter une authentification OpenID Connect
|
||
|
|
||
|
Dans ce tutoriel nous verrons comment ajouter un layer de type `oidc-authn` à un proxy pour ajouter une authentification OpenID Connect à notre service distant.
|
||
|
|
||
|
## Prérequis
|
||
|
|
||
|
Pour réaliser ce tutoriel nous allons utiliser la forge Cadoles comme fournisseur d'identité. Vous devrez donc créer une application OAuth2 avec votre compte Cadoles sur https://forge.cadoles.com/user/settings/applications et collecter les informations suivantes:
|
||
|
|
||
|
- Identifiant du client ;
|
||
|
- Secret du client.
|
||
|
|
||
|
Concernant l'URL de redirection, si vous ne modifiez pas l'option `oidc.loginCallbackPath` vous devrez renseigner une URL répondant au modèle suivant:
|
||
|
|
||
|
```
|
||
|
<base_url>/.bouncer/authn/oidc/<proxy_name>/<layer_name>/callback
|
||
|
```
|
||
|
|
||
|
Où
|
||
|
|
||
|
- `<base_url>` est l'URL de base d'accès à votre instance Bouncer, par exemple `http://localhost:8080` si vous avez travaillez avec une instance Bouncer locale avec la configuration par défaut ;
|
||
|
- `<proxy_name>` est le nom du proxy créé dans Bouncer, dans ce tutoriel `my-proxy` ;
|
||
|
- `<layer_name>` est le nom du layer créé dans Bouncer, dans ce tutoriel `my-layer`.
|
||
|
|
||
|
## Étapes
|
||
|
|
||
|
1. Avec le client d'administration de Bouncer en ligne de commande, créer un nouveau proxy
|
||
|
|
||
|
```shell
|
||
|
bouncer admin proxy create --proxy-name my-proxy --proxy-to https://www.cadoles.com
|
||
|
```
|
||
|
|
||
|
2. Activer le proxy `my-proxy`
|
||
|
|
||
|
```shell
|
||
|
bouncer admin proxy update --proxy-name my-proxy --proxy-enabled
|
||
|
```
|
||
|
|
||
|
3. À ce stade, vous devriez pouvoir afficher le site Cadoles en ouvrant l'URL de votre instance Bouncer, par exemple `http://localhost:8080` si vous avez travaillez avec une instance Bouncer locale avec la configuration par défaut
|
||
|
|
||
|
4. Créer un layer de type `authn-oidc` pour notre nouveau proxy
|
||
|
|
||
|
```shell
|
||
|
bouncer admin layer create --proxy-name my-proxy --layer-name my-layer --layer-type authn-oidc
|
||
|
```
|
||
|
|
||
|
5. Configurer le nouveau layer `my-layer` avec les options collectée dans les prérequis et l'activer
|
||
|
|
||
|
```shell
|
||
|
bouncer admin layer update --proxy-name my-proxy --layer-name my-layer --layer-options '{ "oidc":{"clientId": "<clientId>", "clientSecret":"<clientSecret>", "issuerURL": "https://forge.cadoles.com/", "postLogoutRedirectURL": "<baseURL>" }}' --layer-enabled
|
||
|
```
|
||
|
|
||
|
Où:
|
||
|
|
||
|
- `<clientId>` est l'identifiant du client OIDC récupéré dans les prérequis ;
|
||
|
- `<clientSecret>` est le secret du client OIDC récupéré dans les prérequis ;
|
||
|
- `<postLogoutRedirectURL>` est l'URL de redirection après déconnexion, par exemple `http://localhost:8080` si vous avez travaillez avec une instance Bouncer locale avec la configuration par défaut.
|
||
|
|
||
|
6. À ce stade en ouvrant l'URL de votre instance Bouncer vous devriez être redirigé vers la forge Cadoles vous demandant de vous authentifier.
|
||
|
|
||
|
## Ressources
|
||
|
|
||
|
- [Référence du layer `authn-oidc`](../../fr/references/layers/authn/oidc.md)
|