Passer au contenu principal

Activation de l'authentification unique

Votre Predis.ai Le SDK vous permet d'implémenter l'authentification unique pour vos utilisateurs. Si vous avez un utilisateur déjà connecté à votre site Web, il est recommandé d'implémenter l'authentification unique afin que vos utilisateurs soient automatiquement connectés à Predis.ai éditeur.

Comment ça marche?

  1. Votre utilisateur se connecte à votre site Web.
  2. A Predis.ai Un jeton SSO est généré pour identifier l'utilisateur. Cette opération se produit côté serveur à l'aide de la clé SSO fournie.
  3. Le jeton SSO généré est passé dans la configuration (comme embedToken) quand créer un objet de Predis.ai SDK.

Génération du jeton SSO JWT sur le serveur

A Predis.ai Le jeton SSO est un jeton JWT qui stocke des données sur l'utilisateur et est signé avec votre identifiant unique. Predis.ai Clé SSO.

Code Python pour générer le JWT

  1. Installer la bibliothèque
pip install pyjwt
  1. Générer un JWT
jwt_token = jwt.encode({"aud": YOUR_APP_ID, "user_id": USER_ID},
SSO_KEY,
algorithm='HS256')

Charge utile JWT

La charge utile du JWT doit être la suivante :

{
"aud": "your_app_id", // App ID obtained from the Predis.ai account
"user_id": "user_id" // email or any unique id of your user
}

La charge utile contient les paramètres suivants :

aud
Chaîne. L’identifiant unique de l’application.

user_email
Chaîne. Un identifiant unique pour l'utilisateur.

Remarque sur la sécurité

Les données SSO sont transmises sous forme de jeton codé, appelé JWT (Jeton Web JSON) dans l'URL : le jeton est une chaîne alphanumérique d'environ 150 caractères. Le jeton est signé à l'aide d'une clé spéciale (Predis.ai Clé SSO) qui est unique à chaque compte et seuls les administrateurs de compte y ont accès. Les données transmises dans le jeton sont un user_id et un app_id - aucun mot de passe n'est transmis, codé ou autre. Le jeton est ensuite décodé par le Predis.ai serveurs et la signature est vérifiée pour vérifier que le jeton a été signé par le Predis.ai Clé SSO associée au compte. Si le jeton n'a pas été signé avec la clé correcte, la connexion SSO échouera.