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?
- Votre utilisateur se connecte à votre site Web.
- 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.
- 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
- Installer la bibliothèque
pip install pyjwt
- 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.