Help

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 estás usando WordPress, usa nuestro Plugin de WordPress.

Podemos hacerlo por ti - Ve al Configuración de inicio de sesión único y selecciona tu creador de sitios web para que nuestro equipo de desarrollo integre el SSO por ti, desde solo 199$.

También admitimos el inicio de sesión único mediante OAuth 2, JWT, SAML, LDAP, SQL y OpenID.

Puedes usar la API de inicio de sesión único (SSO) para registrar automáticamente a tus visitantes en tu foro. Esto puede resultar útil si tienes un área de inicio de sesión independiente en tu sitio web y no quieres que tus visitantes inicien sesión dos veces.

La API de SSO te permite hacer una solicitud a la 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 que aparecen a continuación para integrar la API de SSO en su sitio web:

  1. Obtenga su clave de API

  2. Realizar una solicitud de un token de inicio de sesión

    En el script de inicio de sesión de tu sitio web, crea 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=USER

    Reemplazar APIKEY con la clave de API que recuperaste en el paso 1.

    Reemplazar USER con el nombre de usuario del usuario del foro con el que desea iniciar sesión. Si tu sitio web no usa nombres de usuario, puedes usar una dirección de correo electrónico como nombre de usuario.

    Si lo desea, puede incluir un &email=EMAIL parámetro si desea que la cuenta del foro se cree automáticamente en los casos en que la cuenta del foro especificada aún no exista. Te recomendamos incluir el parámetro de correo electrónico. (Sustituya EMAIL por la dirección de correo electrónico del usuario).

    También puedes, opcionalmente 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 utilizas PHP, te recomendamos encarecidamente que utilices nuestro Librería PHP SSO. Contiene un archivo con todo el código de la biblioteca que necesitará y otros archivos con ejemplos de uso.

  3. 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, guárdelo en una cookie o en su base de datos. El token de autenticación caduca a los 6 meses o inmediatamente después de haber sido utilizado para garantizar un alto nivel de seguridad. La respuesta de JSON tendrá un aspecto similar al siguiente:

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

    Si se produce un error, aparecerá un JSON similar al JSON siguiente en lugar de la respuesta JSON normal:

    {
       "message": "The error message will be here."
    }
    
  4. Iniciar sesión al 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>

    Reemplazar AUTHTOKEN con el token de autenticación recuperado en los pasos anteriores. Reemplazar REMEMBER con 1 si quieres mantener al usuario conectado incluso después de cerrar el navegador o excluirlo si quieres cerrar la sesión del usuario al final de la sesión del navegador.

    Si utilizas 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 a la src atributo 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-->

    Como alternativa, si no quieres pasar el token de autenticación a la dirección del foro, puedes añadir la siguiente etiqueta HTML IMG a tu página de inicio de sesión en la que se indica que el inicio de sesión se ha realizado correctamente:

    <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 etiquetas IMG no funcionará en Safari a menos que tengas conectó tu dominio a tu foro.

  5. Cierre la sesión del usuario con el token

    Cuando un usuario cierre sesión en tu sitio web, redirígelo a la siguiente dirección para cerrar también su sesión en el foro:

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

    Reemplazar REDIRECT_URL con la dirección URL codificada del sitio web a la que quieres enviar al usuario una vez que haya cerrado sesión en el foro. Reemplazar AUTHTOKEN con 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 por un usuario. Una vez que se usa para cerrar la sesión de un usuario, el token caduca inmediatamente.

    Como alternativa, si no quieres redirigir al usuario, puedes añadir la siguiente etiqueta HTML IMG a la página de inicio «cerrar sesión correctamente» de tu 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 etiquetas IMG no funcionará en Safari a menos que tengas conectó tu dominio a tu foro.

  6. Haz que tu foro utilice la página de inicio de sesión de tu sitio web

    En el Configuración -> Inicio de sesión único sección de su cuenta de Website Toolbox, especifique la dirección de su sitio web Página de inicio de sesión para garantizar que todos los inicios de sesión en los foros se realicen mediante el formulario de inicio de sesión de su sitio web.

    Cuando dirijamos a un usuario a tu página de inicio de sesión, agregaremos un requestURI parámetro de la URL. Este parámetro incluirá la ruta de la página (por ejemplo, /categories) desde la que se originó el usuario. De esta forma, después de que inicien sesión, podrás enviarlos de vuelta a la misma página.

  7. Haz que tu foro utilice la página de cierre de sesión de tu sitio web

    Opcionalmente, en el Configuración -> Inicio de sesión único sección de su cuenta de Website Toolbox, especifique la dirección de su sitio web Página de cierre de sesión para garantizar que a los usuarios se les muestre la página de cierre de sesión de su sitio web una vez que hayan cerrado sesión en el foro.

Usa un dominio personalizado y nuestro incrustar código, API y webhooks para establecer una integración aún más profunda.


If you still need help, please contact us.