2.8 KiB
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 exemplehttp://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 tutorielmy-proxy
;<layer_name>
est le nom du layer créé dans Bouncer, dans ce tutorielmy-layer
.
Étapes
-
Avec le client d'administration de Bouncer en ligne de commande, créer un nouveau proxy
bouncer admin proxy create --proxy-name my-proxy --proxy-to https://www.cadoles.com
-
Activer le proxy
my-proxy
bouncer admin proxy update --proxy-name my-proxy --proxy-enabled
-
À 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 -
Créer un layer de type
authn-oidc
pour notre nouveau proxybouncer admin layer create --proxy-name my-proxy --layer-name my-layer --layer-type authn-oidc
-
Configurer le nouveau layer
my-layer
avec les options collectée dans les prérequis et l'activerbouncer 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 exemplehttp://localhost:8080
si vous avez travaillez avec une instance Bouncer locale avec la configuration par défaut.
-
À ce stade en ouvrant l'URL de votre instance Bouncer vous devriez être redirigé vers la forge Cadoles vous demandant de vous authentifier.