Help > Forum > Integración del sitio web > Inicio de sesión único: autenticación basada en tokens
Inicio de sesión único: autenticación basada en tokens
Si usas WordPress, usa nuestro complemento de WordPress.
Podemos hacerlo por usted: vaya a la configuración de Inicio de sesión único y seleccione el creador de su sitio web para que nuestro equipo de desarrollo integre el SSO por usted, desde solo $199.
También admitimos el inicio de sesión único con SAML, OAuth2, LDAP, SQL y OpenID.
Puedes usar la API de inicio de sesión único (SSO) para registrar automáticamente a tus visitantes en el foro. Esto puede resultar útil si tienes un área de inicio de sesión separada en tu sitio web y no quieres que tus visitantes inicien sesión dos veces.
La API de SSO le permite realizar una solicitud de API para obtener un token de inicio de sesión para un usuario y, a continuación, incluirlo en la dirección del foro para que el usuario inicie sesión.
Siga las instrucciones a continuación para integrar la API de SSO en su sitio web:
-
Realizar una solicitud de token de inicio de sesión
En el script de inicio de sesión de su sitio web, haga un Solicitud HTTP a la URL de inicio de sesión de la API de SSO:https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USERReemplace APIKEY por la clave de API que recuperó en el paso 1.Reemplace USER por el nombre de usuario del foro en el que desea iniciar sesión. Si su sitio web no usa nombres de usuario, puede usar una dirección de correo electrónico como nombre de usuario. Como alternativa, si tiene el ID de usuario del foro del usuario almacenado en la base de datos, se puede utilizar un parámetro &userid= USERID en lugar del parámetro &user= USER.
Si lo desea, puede incluir un parámetro &email=email si desea que la cuenta del foro se cree automáticamente en los casos en que la cuenta del foro especificada no exista ya. Se recomienda incluir el parámetro de correo electrónico. (Reemplace EMAIL por la dirección de correo electrónico del usuario).
También puede especificar otra información de la cuenta, como el nombre completo del usuario (parámetro «nombre»), el avatar (parámetro «avatar») y más. Los parámetros adicionales deben estar codificados en URL.
Si está utilizando PHP, le recomendamos encarecidamente que utilice nuestra biblioteca de SSO de PHP. Contiene un archivo con todo el código de biblioteca que necesitará y otros archivos con ejemplos de uso.
-
Obtenga el token de la respuesta
Analice el JSON devuelto por la solicitud HTTP para obtener el token de autenticación y el ID de usuario y, a continuación, almacenarlos en una cookie o en su base de datos. El token de autenticación caduca en 6 meses o inmediatamente después de que se haya utilizado para garantizar un alto nivel de seguridad. La respuesta JSON tendrá un aspecto similar al siguiente:{ "authtoken": "88SngRVArwrsZ053lfrqL", "userid": 424764 }
Si se produce un error, aparecerá un JSON similar al JSON que se muestra a continuación en lugar de la respuesta JSON normal:
{ "message": "The error message will be here." }
-
Inicie sesión en el usuario con el token
Pase el token de autenticación en el enlace de su foro en su sitio web. Por ejemplo:<a href="https://FORUM_DOMAIN/?authtoken=AUTHTOKEN&remember=REMEMBER">Forum</a>Reemplace AUTHTOKEN por el token de autenticación recuperado en los pasos anteriores. Reemplace REMEMBER por 1 si desea mantener la sesión iniciada al usuario incluso después de cerrar el navegador o excluirlo si desea que el usuario se desconecte al final de la sesión del navegador.
Si usas el código de inserción, puedes pasar el token de autenticación a la página en la que está incrustado el foro o dentro del atributo src del código de inserción. Por ejemplo:
<!--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-->Alternativamente, si no desea pasar el token de autenticación en la dirección del foro, puede agregar la siguiente etiqueta HTML IMG a su página de inicio de «inicio de sesión exitoso»:
<img src="//FORUM_DOMAIN/register/dologin?authtoken=AUTHTOKEN&remember=REMEMBER" border="0" width="1" height="1" alt="">Debido a que las cookies de terceros están bloqueadas en el navegador Safari, el enfoque de etiqueta IMG no funcionará en Safari a menos que el foro se haya configurado para usar un subdominio.
-
Cerrar sesión del usuario con el token
Después de que un usuario cierre sesión en su sitio web, redirijalo a la siguiente dirección para que también cierre sesión en el foro:
https://FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN&redirect=REDIRECT_URLReemplace REDIRECT_URL por la dirección del sitio web con codificación URL a la que desea enviar al usuario después de que haya cerrado sesión en el foro. Reemplace AUTHTOKEN por el token de autenticación recuperado en los pasos anteriores. Cuando se usa para cerrar sesión, un token es válido durante 6 meses, incluso si ya se ha utilizado para iniciar sesión a un usuario. Una vez que se usa para cerrar la sesión de un usuario, el token caduca de inmediato.
Alternativamente, si no desea redirigir al usuario, puede añadir la siguiente etiqueta HTML IMG a la página de inicio «cerrar sesión correctamente» en su sitio web:
<img src="//FORUM_DOMAIN/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">Debido a que las cookies de terceros están bloqueadas en el navegador Safari, el enfoque de etiqueta IMG no funcionará en Safari a menos que el foro se haya configurado para usar un subdominio.
-
Haz que tu foro utilice la página de inicio de sesión de tu sitio web
En la sección Configuración -> Inicio de sesión único de su cuenta de Website Toolbox, especifique la dirección de la página de inicio de sesión de su sitio web para asegurarse de que todos los inicios de sesión en el foro se realicen mediante el formulario de inicio de sesión de su sitio web.
-
Haz que tu foro utilice la página de cierre de sesión de tu sitio web
Opcionalmente, en la sección Configuración -> Inicio de sesión único de su cuenta de Website Toolbox, especifique la dirección de la página de cierre de sesión de su sitio web para asegurarse de que a los usuarios se les muestre la página de cierre de sesión de su sitio web una vez que hayan estado se desconectó del foro.
Use un dominio personalizado y nuestro código de inserción, API y webhooks para configurar aún más integración.
If you still need help, please contact us.