Help > Forum > Intégration de sites Web > Ouverture de session unique - Authentification basée sur des jetons

Ouverture de session unique - Authentification basée sur des jetons

Si vous utilisez WordPress, utilisez notre Plugin WordPress.

Nous pouvons le faire pour vous - Allez à la page Paramètres d'ouverture de session unique et sélectionnez votre constructeur de site Web pour que notre équipe de développement intègre SSO pour vous, à partir de 149$seulement.

Nous prenons également en charge Single Sign On en utilisant SAML, OAuth2, LDAP, SQL et OpenID.

Vous pouvez utiliser l'API Single Sign On (SSO) pour enregistrer automatiquement vos visiteurs dans votre forum. Cela peut être utile si vous avez 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 à partir de votre application pour ouvrir une session utilisateur dans ou hors de votre forum. Un jeton est retourné par l'API, qui est ensuite utilisé dans une petite balise IMG sur la page suivante pour stocker les cookies nécessaires du navigateur.

Veuillez suivre les instructions ci-dessous pour intégrer l'API SSO dans votre site Web :

  1. Si vous utilisez PHP, nous vous recommandons fortement d'utiliser notre Bibliothèque SSO PHPIl contient un fichier avec tout le code de bibliothèque dont vous aurez besoin et d'autres fichiers avec exemple d'utilisation.

  2. Obtenez votre clé API.
  3. Dans le script de connexion de votre site Web, faites un Demande HTTP à l'URL de connexion de l'API SSO :
  4. https://USERNAME.websitetoolbox.com/register/setauthtoken?type=json&apikey=APIKEY&user=USER

    Remplacer APIKEY avec la clé API que vous avez récupérée à l'étape 1.

    Remplacer USER avec le nom d'utilisateur de l'utilisateur du forum que vous souhaitez vous connecter.

    Vous pouvez éventuellement inclure un &email=EMAIL si vous souhaitez que le compte forum soit créé automatiquement dans les cas où le compte de forum spécifié n'existe pas déjà. Nous vous recommandons d'inclure le paramètre email. Vous pouvez également en option spécifier d'autres informations de compte ou un &pw=PASSWORD pour définir le mot de passe du nouveau compte. (Remplacez EMAIL et PASSE par l'adresse e-mail et le mot de passe non chiffré/non haché de l'utilisateur.) Dans les cas où un compte est créé sans mot de passe, l'utilisateur ne pourra pas se connecter directement au forum à moins qu'il n'ait d'abord réinitialisé 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'a pas de mot de passe.

    Vous pouvez également utiliser une adresse e-mail comme nom d'utilisateur.

  5. Analyser le JSON renvoyé par la requête HTTP pour obtenir le jeton d'authentification et l'ID utilisateur, puis le stocker dans un cookie. La réponse JSON ressemblera à ceci :

    {
      "authtoken": "88SngRVArwrsZ053lfrqL",
      "userid": 424764
    }
    

  6. Sur votre site Web, ajoutez la balise IMG HTML suivante à votre page de destination « Connexion réussie » :

    <img src="//USERNAME.websitetoolbox.com/register/dologin?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Remplacer AUTHTOKEN avec le jeton d'authentification récupéré à l'étape 3.

    La fenêtre du navigateur qui charge la balise IMG sera connectée au forum en tant qu'utilisateur avec le nom d'utilisateur fourni à l'étape 2.

  7. Sur votre site Web, ajoutez la balise IMG HTML suivante à votre page de destination « déconnexion réussie » :

    <img src="//USERNAME.websitetoolbox.com/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Remplacer AUTHTOKEN avec le jeton d'authentification récupéré à l'étape 3.

  8. Dans le Paramètres -> Ouverture de session unique de votre compte Website Toolbox, indiquez l'adresse du Se connecter à la page pour vous assurer que toutes les connexions au forum se produisent en utilisant le formulaire de connexion de votre site Web.

  9. Dans le Paramètres -> Ouverture de session unique de votre compte Website Toolbox, indiquez l'adresse du Page de déconnexion pour s'assurer que les utilisateurs s'affichent sur la page de déconnexion de votre site Web une fois qu'ils ont été déconnectés du forum.

  10. Configurez un sous-domaine pour votre forum. Par exemple, https://forums.yourwebsite.com. Cette étape est facultative. Cependant, le navigateur Safari est livré avec une politique conservatrice en matière de cookies qui limite les écritures de cookies uniquement aux pages choisies (« naviguées vers ») par l'utilisateur. Cela empêche le cookie de connexion du forum d'être défini sur la page de destination « Connexion réussie ». Par conséquent, la seule façon de faire fonctionner Single Sign On sur le navigateur Safari est d'utiliser un sous-domaine pour votre forum ou également de transmettre le jeton d'authentification dans le lien de votre forum sur votre site Web. Par exemple :

    <a href="https://USERNAME.websitetoolbox.com/?authtoken=AUTHTOKEN">Forum</a>

    Si vous utilisez le code intégré, vous pouvez transmettre le jeton d'authentification à la page dans laquelle le forum est incorporé ou dans le src attribut du code incorporé.

Remarques importantes :

  • Si vous avez acheté un nom de domaine géré ou si vous utilisez un nom de domaine personnalisé pour votre forum, utilisez ce nom de domaine au lieu de « Nom d'utilisateur.Websitetoolbox.com ».
  • UTILISATEUR doit être remplacé par votre nom d'utilisateur Website Toolbox.
  • UN &userid=USERID peut être passé à la place du paramètre &user=USER paramètre.
  • Si une erreur se produit, JSON similaire au JSON ci-dessous apparaîtra plutôt que la réponse JSON normale :

    {
       "message": "The error message will be here."
    }
    

  • Si vous devez vous déconnecter d'un utilisateur et que vous ne disposez pas du jeton d'authentification qui a été renvoyé lors de la requête HTTP à l'étape 2, vous pouvez rétablir le jeton d'authentification en faisant une requête HTTP vers l'URL ci-dessous ou vous pouvez générer un nouveau jeton d'authentification.

    https://USERNAME.websitetoolbox.com/register/getauthtoken?type=json&apikey=APIKEY&user=USER

  • Vous pouvez également intégrer le processus d'inscription de votre site Web. Plus d'informations...
  • Le jeton d'authentification récupéré à l'étape 3 expire lorsqu'un nouveau jeton d'authentification est généré ou immédiatement après qu'il a été utilisé pour assurer un niveau de sécurité élevé. Le jeton d'authentification, lorsqu'il est utilisé pour la déconnexion, expire seulement après qu'un nouveau jeton d'authentification a été généré.
  • Normalement, l'utilisateur sera déconnecté à la fin de la session du navigateur. Pour garder l'utilisateur connecté même après la fermeture du navigateur, ajoutez &remember=1 à la fin de l'URL dans les étapes 5 et 9.
  • La chaîne de requête doit être encodée en URL.
  • Utilisez notre API pour faire toutes sortes d'autres intégrations.


If you still need help, please contact us.