Vous pouvez utiliser l'API Single Sign On (SSO) pour connecter automatiquement vos visiteurs à votre salon de discussion. Cela peut être utile si vous disposez d'une zone de connexion distincte sur votre site Web et que vous ne souhaitez pas que vos visiteurs se connectent deux fois.
L'API SSO vous permet d'envoyer une requête HTTP depuis votre application pour connecter ou déconnecter un utilisateur de votre salon de discussion. Un jeton est renvoyé par l'API, qui est ensuite utilisé dans une petite balise IMG sur la page suivante pour stocker les cookies de navigateur nécessaires.
Si vous utilisez PHP, nous vous recommandons vivement d'utiliser notre Bibliothèque SSO. Il contient un fichier contenant tout le code de bibliothèque dont vous aurez besoin et d'autres fichiers avec des exemples d'utilisation.
Si vous utilisez WordPress pour votre site Web, nous avons un Plug-in WordPress qui intègre automatiquement votre processus de connexion et d'inscription.
Veuillez suivre les instructions ci-dessous pour intégrer l'API SSO à votre site Web.
- Obtenez votre clé API
- Faites la demande pour générer un jeton d'accès
- Analysez la réponse pour récupérer le jeton d'accès
- Demande de connexion au salon de discussion
- Déconnectez-vous du salon de discussion
- Paramètres d'URL
- Enregistrer un utilisateur dans le salon de discussion
- Supprimer un utilisateur
- Modifier les informations de l'utilisateur
- Remarques importantes
Obtenez votre clé API
La clé API est transmise en tant que paramètre lors de vos appels d'API pour vérifier que vous êtes un utilisateur autorisé de l'API du salon de discussion. Votre clé API est comme le mot de passe de votre compte et doit rester confidentielle et sécurisée.
Vous pouvez obtenir la clé API de votre salon de discussion Website Toolbox en suivant les instructions ci-dessous :
- Connectez-vous à votre compte Website Toolbox.
- Cliquez sur le lien Paramètres.
- Copiez la clé API mentionnée à côté de l'option Clé API.
Faites la demande pour générer un jeton d'accès
Dans le script de connexion de votre site Web, envoyez une requête HTTP à l'URL de connexion de l'API SSO :
http://CLIENT.discussionchatroom.com/sso/token/generate?apikey=APIKEY&username=USERNAME&email=EMAIL&avatarUrl=AVATARURL&password=PASSWORD
Remplacez APIKEY par la clé API secrète.
Remplacez USERNAME par le nom d'utilisateur de l'utilisateur devant être connecté.
Remplacez EMAIL par l'adresse e-mail de l'utilisateur qui doit être connecté.
Remplacez AVATARURL par l'URL de la photo de profil de l'utilisateur. C'est facultatif. Sinon, l'utilisateur peut toujours définir son avatar dans le salon de discussion lui-même.
Remplacez PASSWORD par le mot de passe non chiffré de l'utilisateur qui doit se connecter.
Le nom d'utilisateur et le mot de passe sont des paramètres facultatifs qui ne seront utilisés que si le compte doit être créé car il n'existe pas encore. Si le compte est créé sans mot de passe, l'utilisateur ne pourra pas se connecter directement au salon de discussion à moins de réinitialiser son mot de passe sur la page de connexion. La connexion SSO fonctionnerait sans problème même si le compte de l'utilisateur n'avait pas de mot de passe.
Analysez la réponse pour récupérer le jeton d'accès
Analyser la réponse JSON de la demande envoyée à générer un jeton d'accès pour récupérer le jeton d'authentification, c'est-à-dire « access_token ». La réponse JSON ressemblera à ceci :
{
« succès » : c'est vrai,
« message » : « Il s'agit d'un message de réussite ou d'échec. «,
« access_token » : « 88SnGrlFrQL »
}
succès - Cela correspond au statut de la demande. C'est vrai si le jeton d'authentification est généré avec succès. Sinon, c'est faux.
message - Il s'agit d'un message partagé dans la réponse. Il est plus utile pour la réponse aux erreurs.
access_token - Il s'agit du jeton d'accès généré pour l'utilisateur après une authentification réussie. Ce jeton expirera dans 60 minutes pour garantir la sécurité.
Demande de connexion au salon de discussion
Sur votre site Web, ajoutez la balise HTML IMG suivante à votre page d'accueil « connexion réussie » :
Remplacez ACCESS_TOKEN par le access_token, récupéré à l'étape Analyser la réponse pour récupérer le jeton d'accès>..
Rememberme doit être remplacé par la valeur 0 ou 1. Pour que le navigateur mémorise les informations de connexion de l'utilisateur même après la fermeture du navigateur, remplacez REMEMBERME par 1, sinon remplacez-le par 0 pour effacer les informations de connexion une fois le navigateur fermé.
La fenêtre du navigateur qui charge la balise IMG sera connectée à la salle de discussion en tant qu'utilisateur avec le nom d'utilisateur fourni lors de la demande générer un jeton d'accès.
Le navigateur Safari est doté d'une politique conservatrice en matière de cookies qui limite l'écriture de cookies aux seules pages choisies (« visitées ») par l'utilisateur. Cela empêche le cookie de connexion du forum d'être défini sur la page d'accueil « Connexion réussie ». Par conséquent, la seule façon de faire fonctionner l'authentification unique sur le navigateur Safari est de transmettre également le jeton d'authentification dans le lien de votre salon de discussion sur votre site Web. Par exemple :
Déconnectez-vous du salon de discussion
Si l'utilisateur souhaite se déconnecter du salon de discussion ou lorsqu'il se déconnecte du site Web, ajoutez la balise HTML IMG suivante à votre page d'accueil « Déconnexion réussie » :
Remplacez ACCESS_TOKEN par le access_token, récupéré à l'étape Analysez la réponse pour récupérer le jeton d'accès.
Si vous ne possédez pas le jeton d'authentification qui a été renvoyé lors de la connexion, vous pouvez le récupérer ou le régénérer (s'il a expiré) en faisant la demande à générer un jeton d'accès API.
Paramètres d'URL
Vous pouvez définir les URL de votre site Web en suivant les instructions ci-dessous :
- Connectez-vous à votre compte Website Toolbox.
- Cliquez sur le lien Paramètres.
- Dans la section « Authentification unique », indiquez les URL de votre site Web pour les pages suivantes :
- Page de connexion : Spécifiez l'adresse de la page de connexion de votre site Web pour vous assurer que toutes les connexions au salon de discussion se font à l'aide du formulaire de connexion de votre site Web.
- Page de déconnexion : Spécifiez l'adresse de la page de déconnexion de votre site Web pour vous assurer que les utilisateurs voient la page de déconnexion de votre site Web s'afficher une fois qu'ils sont déconnectés du salon de discussion.
- Page d'inscription : Spécifiez l'adresse de la page d'inscription de votre site Web pour vous assurer que les utilisateurs voient la page d'inscription de votre site Web en cliquant sur le lien « Créer un compte » sur la page de connexion au salon de discussion.
Enregistrer un utilisateur dans le salon de discussion
Pour enregistrer un utilisateur dans le salon de discussion, envoyez une requête HTTP à l'URL d'inscription de l'utilisateur de l'API SSO :
http://CLIENT.discussionchatroom.com/sso/user/register?apikey=APIKEY&username=USERNAME&email=EMAIL&password=PASSWORD&avatarUrl=AVATARURL
Remplacez APIKEY par la clé API secrète.
Remplacez USERNAME par le nom d'utilisateur de l'utilisateur à enregistrer.
Remplacez EMAIL par l'adresse e-mail de l'utilisateur à enregistrer.
Remplacez PASSWORD par le mot de passe non chiffré de l'utilisateur à enregistrer. Il s'agit d'un paramètre facultatif. Dans les cas où un compte est créé sans mot de passe, l'utilisateur ne pourra pas se connecter directement au salon de discussion à moins de réinitialiser son mot de passe sur la page de connexion. La connexion SSO fonctionnerait sans problème même si le compte de l'utilisateur n'avait pas de mot de passe.
Remplacer AVATARURL par « être un utilisateur enregistré » ? profil s URL de l'image. C'est facultatif.
L'envoi d'une demande d'inscription est facultatif car les comptes seront créés automatiquement s'ils n'existent pas déjà lors d'une demande de connexion à connexion unique.
La réponse JSON renverra également un jeton d'accès qui peut être utilisé pour connecter l'utilisateur. Suivez les étapes de Analyser la réponse pour récupérer l'accès Jeton et Demande de connexion au chat Chambre pour connecter l'utilisateur nouvellement enregistré.
Supprimer un utilisateur
Pour supprimer des utilisateurs du salon de discussion, envoyez une requête HTTP à l'URL de suppression des utilisateurs de l'API SSO :
http://CLIENT.discussionchatroom.com/sso/user/delete?apikey=APIKEY&emails=EMAILS
Remplacez APIKEY par la clé API secrète.
Remplacez les E-MAILS par les adresses e-mail des utilisateurs à supprimer. Il peut contenir une seule adresse e-mail ou plusieurs adresses e-mail séparées par des virgules.
Modifier les informations de l'utilisateur
Pour modifier les informations relatives à l'utilisateur du salon de discussion, envoyez une requête HTTP à l'API SSO pour modifier l'URL de l'utilisateur :
http://CLIENT.discussionchatroom.com/sso/user/edit?apikey=APIKEY&user=USER&username=NEWUSERNAME&email=NEWEMAIL&password=NEWPASSWORD&avatarUrl=NEWAVATARURL
Remplacez APIKEY par la clé API secrète.
Remplacez USER par l'adresse e-mail actuelle de l'utilisateur.
Remplacez NEWUSERNAME par le nouveau nom d'utilisateur qui doit être défini.
Remplacez NEWEMAIL par le nouvel e-mail qui doit être défini.
Remplacez NEWPASSWORD par le nouveau mot de passe qui doit être défini.
Remplacez NEWAVATARURL par la nouvelle URL de l'avatar qui doit être définie.
Les paramètres apikey et user sont des champs obligatoires. Les autres champs sont facultatifs. Vous ne devez pas ajouter de paramètres dans l'URL dont la valeur ne doit pas être mise à jour pour l'utilisateur. Les valeurs pour « nom d'utilisateur » et « e-mail » ne seront pas mises à jour si elles sont vides.
Remarques importantes
- Vous avez besoin d'aide ? Nos développeurs peuvent configurer l'intégration de l'authentification unique sur votre site Web.Nous contacter
- Pour accéder à la salle de discussion, il doit y avoir un lien sur votre page, tel que :
- Le CLIENT doit être remplacé par le nom d'utilisateur de votre salon de discussion Website Toolbox.
- Les réponses peuvent être analysées à des fins de débogage. La réponse JSON ressemblera à ce.
- La chaîne de requête doit être codée en URL.