Jetons JWT personnalisés
Therefore™ prend en charge les déclarations des émetteurs de jetons JWT personnalisés. Grâce à cette fonctionnalité, un client peut créer et envoyer des jetons JWT à Therefore™ pour authentifier les utilisateurs.
Therefore™ prend en charge les jetons JWT signés via HS256 et RS256.
-
En ce qui concerne HS256, une clé partagée doit être mémorisée dans Therefore™ pour autoriser la validation du jeton lors de la connexion.
-
En ce qui concerne RS256, la clé publique du certificat utilisé pour signer le jeton doit être téléchargée dans Therefore™ sous forme de fichier .cer.
Configuration dans Therefore™ Solution Designer
-
Cliquez avec le bouton droit de la souris sur « Jetons JWT personnalisés » et sélectionnez « Gérer ».
-
Cliquez sur « Ajouter » pour entrer une nouvelle ligne. Vous devez renseigner les champs ci-dessous comme suit :
Champ Description ID de l'émetteur Doit être identique à l'ID de l'émetteur du jeton JWT envoyé à Therefore™ Nom Nom facultatif du jeton JWT Actif Permet d'activer ou de désactiver l'émetteur d'un client Secret/certificat Définissez une clé partagée ou téléchargez un fichier .cer pour valider le jeton
Configuration de l'utilisation d'Azure Key Vault pour les secrets partagés
Si les secrets doivent être mémorisés dans Azure Key Vault, définissez les clés de registre suivantes :
HEKY_LOCAL_MACHINE\Software\Therefore\Server
- KeyVaultAppId
- KeyVaultAppSec
- KeyVaultBaseUri
|
|
|
Charge utile des jetons JWT personnalisés
{
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "Test AD",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress": "testad@therefore.net",
"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname": "ADOS\\testad",
"aud": "<CustomerId>",
"nbf": 1547106872,
"exp": 1547108072,
"urn:oauth:scope": "therefore_user"
"iss": https://testissuer.therefore.net
}
| Paramètres du jeton | Explication |
|---|---|
| aud | ID client du système Therefore™ |
| iss | ID de l'émetteur du jeton JWT Cette valeur doit être identique à la valeur utilisée dans la configuration de Therefore™. |
| urn:oauth:scope |
Étendue du jeton. Valeurs gérées : « therefore_user » pour accorder toutes les permissions ou « therefore_read » pour un accès en lecture seule. |
Les jetons JWT personnalisés permettent d'authentifier les utilisateurs de Therefore™ dans Therefore™ Web Client, Portal, API et WebAPI.
|
|
|
Exemple d'API
string sToken = "<token>;
string sNodeInternal, sNodeFriendly;
TheServer s = new TheServer();
s.ConnectBearerToken(TheClientType.CustomApplication, sToken, "", "", "", true, TheConnectMode.NoLicenseMove, out sNodeInternal, out sNodeFriendly);
Vous pouvez définir des permissions spéciales pour un jeton.