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

  1. Cliquez avec le bouton droit de la souris sur « Jetons JWT personnalisés » et sélectionnez « Gérer ».

  2. 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

Icône Note
  • Vous devez ajouter cette clé en tant que clé partagée au nouvel émetteur personnalisé pour qu'elle puisse être validée.

  • La longueur minimale de la clé pré-partagée est de 32 caractères.

Copier

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.

Icône Note
  • Pour raisons de sécurité, les jetons JWT/OAuth doivent être utilisés avec SSL (https://) uniquement.

  • Therefore™ Web Client, Portal : ajoutez un nouveau paramètre de requête ssoToken=<jeton> à toute requête initiale envoyée à Web Client ou Portal.

Copier

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.

Permissions associées aux jetons JWT