Skip to content

Client oidc

Description

Ce client permet l'authentification par OIDC.

Paramètres

clientId obligatoire
Nom du client id
clientSecret obligatoire

Secret rattaché au client id.

Nous rappelons ici que la valeur peut être chiffrée. On l'indiquera alors en ajoutant un attribut encrypted="true" à l'élément dans le fichier XML.

discoveryUri
URL de discovery fournie par l'ADFS. L'URL a souvent la forme https://adfs.domain.com/adfs/.well-known/openid-configuration.
useNonce
Valeur true/false indiquant le nonce doit être utilisé
withState

Valeur true/false indiquant si un paramètre OAuth state est utilisé.

Par défaut la valeur est true.

authMethod

Méthode d'authentification. Les valeurs reconnues sont:

  • client_secret_basic
  • client_secret_post
  • client_secret_jwt
  • private_key_jwt
  • tls_client_auth
  • self_signed_tls_client_auth
  • request_object
  • none

Cette page fournit davantage d'informations sur les différentes méthodes.

scope
Scope. Il est possible de spécifier plusieurs scopes en les séparant par un espace, par exemple: openid profile roles.
algo
Définit l'algorithme JWS de préférence
responseType
Valeur du response_type
uidAttribute

Nom de l'attribut contenant la valeur à reprendre comme uid.

En principe, l'attribut est cn ou commonname. À définir en fonction du provider d'identité.

cleanUid

Flag true/false indiquant si le uid doit être "nettoyé".

Selon le provider, il peut arriver que le uid contienne des éléments superflux pour les besoins de l'application. Il peut par exemple avoir la forme AD\user ou user@ad.hostname.com. Le fait d'activer l'option cleanUid fera que le uid sera nettoyé des éléments spécifiques à l'annuaire.

Sans effet si uidAttribute n'est pas spécifié.

rolesAttribute
Nom de l'attribut contenant les rôles. En principe les rôles sont fournis dans des attributs roles, memberOf, etc. À définir en fonction du provider d'identité.
cleanRoles

Flag true/false indiquant si les noms de rôles doivent être "nettoyés".

De même que pour le uid, les rôles peuvent être fournis sous une forme inadaptée. Dans le cas d'ADFS par exemple on recevra les DN (distinguished names) des groupes, par exemple CN=MyGroup,CN=Users,DC=ad,DC=epilogic,DC=ch. L'option permet d'extraire le nom du groupe de ce DN.

Sans effet si rolesAttribute n'est pas spécifié.

customParam

Ajoute un ou plusieurs paramètres supplémentaires qui seront repris dans l'URL d'authentification.

L'élément doit posséder un attribut name qui indique le nom du paramètre et une valeur. Cette dernière peut être chiffrée (mais pas le nom du paramètre).

Exemple

1
2
3
4
5
6
7
8
9
<client name="keycloak-client" type="keycloak">
    <realm>example</realm>
    <baseUri>http://localhost:8081/auth</baseUri>
    <clientId>ewt-client</clientId>
    <clientSecret>dATZeUMQAQnSPM88bwMt3Ugdfxg75IDS</clientSecret>
    <withState>true</withState>
    <authMethod>client_secret_basic</authMethod>
    <scope>openid profile roles</scope>
</client>