Help

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

Authentification unique - Authentification basée sur des jetons

Si vous utilisez WordPress, utilisez notre Plug-in WordPress.

Nous pouvons le faire pour vous - Accédez au Paramètres d'authentification unique et sélectionnez votre créateur de site Web pour que notre équipe de développement intègre le SSO pour vous, à partir de 199$ seulement.

Nous prenons également en charge l'authentification unique à l'aide de SAML, OAuth2, LDAP, SQL et OpenID.

Vous pouvez utiliser l'API Single Sign On (SSO) pour connecter automatiquement vos visiteurs à votre forum. 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 de faire une demande d'API pour obtenir un jeton de connexion pour un utilisateur, puis de l'inclure dans l'adresse du forum pour connecter l'utilisateur.

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

  1. Obtenez votre clé API

  2. Faire une demande de jeton de connexion

    Dans le script de connexion de votre site Web, créez Requête HTTP à l'URL de connexion à l'API SSO :

    https://FORUM_DOMAIN/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 auquel vous souhaitez vous connecter. Si votre site Web n'utilise pas de nom d'utilisateur, vous pouvez utiliser une adresse e-mail comme nom d'utilisateur.

    Vous pouvez éventuellement inclure un &email=EMAIL paramètre si vous souhaitez que le compte de 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 e-mail. (Remplacez EMAIL par l'adresse e-mail de l'utilisateur.)

    Vous pouvez également, en option spécifier d'autres informations de compte, tels que le nom complet de l'utilisateur (paramètre « nom »), son avatar (paramètre « avatar »), etc. Les paramètres supplémentaires doivent être codés en URL.

    Si vous utilisez PHP, nous vous recommandons vivement d'utiliser notre Bibliothèque PHP 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.

  3. Obtenez le jeton à partir de la réponse

    Analysez le JSON renvoyé par la requête HTTP pour obtenir le jeton d'authentification et l'ID utilisateur, puis stockez-le dans un cookie ou dans votre base de données. Le jeton d'authentification expire au bout de 6 mois ou immédiatement après son utilisation pour garantir un haut niveau de sécurité. La réponse JSON ressemblera à ceci :

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

    En cas d'erreur, un JSON similaire au JSON ci-dessous apparaîtra à la place de la réponse JSON normale :

    {
       "message": "The error message will be here."
    }
    
  4. Connectez l'utilisateur à l'aide du jeton

    Transmettez le jeton d'authentification dans le lien de votre forum sur votre site Web. Par exemple :

    <a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>

    Remplacer AUTHTOKEN avec le jeton d'authentification récupéré lors des étapes précédentes. Remplacer REMEMBER avec 1 si vous souhaitez que l'utilisateur reste connecté même après la fermeture du navigateur ou l'exclure si vous souhaitez que l'utilisateur soit déconnecté à la fin de la session du navigateur.

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

    <!--Begin Website Toolbox Forum Embed Code-->
    <div id="wtEmbedCode"><script type="text/javascript" id="embedded_forum" src="https://FORUM_DOMAIN/js/mb/embed.js?authtoken=AUTHTOKEN&remember=REMEMBER"></script> <noscript><a href="https://FORUM_DOMAIN">Forum</a></noscript></div>
    <!--End Website Toolbox Forum Embed Code-->

    Sinon, si vous ne souhaitez pas transmettre le jeton d'authentification dans l'adresse du forum, vous pouvez ajouter la balise HTML IMG suivante à votre page d'accueil « Connexion réussie » :

    <img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">

    En raison du blocage des cookies tiers dans le navigateur Safari, l'approche des balises IMG ne fonctionnera pas dans Safari à moins que vous n'ayez connecté votre domaine à votre forum.

  5. Déconnecter l'utilisateur à l'aide du jeton

    Une fois qu'un utilisateur s'est déconnecté de votre site Web, redirigez-le vers l'adresse suivante pour le déconnecter également du forum :

    https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URL

    Remplacer REDIRECT_URL avec l'adresse du site Web codée en URL que vous souhaitez envoyer à l'utilisateur une fois qu'il a été déconnecté du forum. Remplacer AUTHTOKEN avec le jeton d'authentification récupéré lors des étapes précédentes. Lorsqu'il est utilisé à des fins de déconnexion, un jeton est valide pendant 6 mois, même s'il a déjà été utilisé pour connecter un utilisateur. Une fois qu'il est utilisé pour déconnecter un utilisateur, le jeton expire immédiatement.

    Sinon, si vous ne souhaitez pas rediriger l'utilisateur, vous pouvez ajouter la balise HTML IMG suivante à la page d'accueil « Déconnexion réussie » de votre site Web :

    <img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    En raison du blocage des cookies tiers dans le navigateur Safari, l'approche des balises IMG ne fonctionnera pas dans Safari à moins que vous n'ayez connecté votre domaine à votre forum.

  6. Faites en sorte que votre forum utilise la page de connexion de votre site Web

    Dans le Paramètres -> Authentification unique section de votre compte Website Toolbox, spécifiez l'adresse de votre site Web Page de connexion pour vous assurer que toutes les connexions au forum se font à l'aide du formulaire de connexion de votre site Web.

    Lorsque nous redirigeons un utilisateur vers votre page de connexion, nous ajoutons un requestURI paramètre de l'URL. Ce paramètre indiquera le chemin de la page (par exemple, /categories) d'où provient l'utilisateur. De cette façon, une fois qu'ils se sont connectés, vous pouvez les renvoyer sur la même page.

  7. Faites en sorte que votre forum utilise la page de déconnexion de votre site Web

    Facultativement, dans Paramètres -> Authentification unique section de votre compte Website Toolbox, spécifiez l'adresse de votre site Web Page de déconnexion pour s'assurer que les utilisateurs voient la page de déconnexion de votre site Web une fois qu'ils ont été déconnectés du forum.

Utilisez un domaine personnalisé et notre code d'intégration, API et webhooks pour mettre en place une intégration encore plus poussée.


If you still need help, please contact us.