Help

Help > Forum > Integração de sites > Login único - Autenticação baseada em token

Login único - Autenticação baseada em token

Se você estiver usando o WordPress, use nosso Plugin WordPress.

Nós podemos fazer isso por você - Vá para o Configurações de login único e selecione seu criador de sites para que nossa equipe de desenvolvimento integre o SSO para você, a partir de apenas $199.

Também oferecemos suporte ao Single Sign On usando SAML, OAuth2, LDAP, SQL e OpenID.

Você pode usar a API Single Sign On (SSO) para registrar automaticamente seus visitantes em seu fórum. Isso pode ser útil se você tiver uma área de login separada em seu site e não quiser que seus visitantes façam login duas vezes.

A API SSO permite que você faça uma solicitação de API para obter um token de login para um usuário e depois incluí-lo no endereço do fórum para fazer login do usuário.

Siga as instruções abaixo para integrar a API SSO em seu site:

  1. Obtenha sua chave de API

  2. Faça uma solicitação de um token de login

    No script de login do seu site, faça um Solicitação HTTP para o URL de login da API SSO:

    https://FORUM_DOMAIN/register/setauthtoken?type=json&apikey=APIKEY&user=USER

    Substituir APIKEY com a chave de API que você recuperou na etapa 1.

    Substituir USER com o nome de usuário do fórum que você gostaria de fazer login. Se o seu site não usa nomes de usuário, você pode use um endereço de e-mail como nome de usuário.

    Opcionalmente, você pode incluir um &email=EMAIL parâmetro se você quiser que a conta do fórum seja criada automaticamente nos casos em que a conta especificada do fórum ainda não exista. Recomendamos incluir o parâmetro email. (Substitua E-MAIL pelo endereço de e-mail do usuário.)

    Você também pode, opcionalmente especificar outras informações da conta, como o nome completo do usuário (parâmetro “nome”), avatar (parâmetro “avatar”) e muito mais. Parâmetros adicionais devem ser codificados por URL.

    Se você estiver usando PHP, é altamente recomendável usar nosso Biblioteca PHP SSO. Ele contém um arquivo com todo o código da biblioteca que você precisará e outros arquivos com exemplos de uso.

  3. Obtenha o token da resposta

    Analise o JSON retornado pela solicitação HTTP para obter o token de autenticação e a ID do usuário e, em seguida, armazene-os em um cookie ou em seu banco de dados. O token de autenticação expira em 6 meses ou imediatamente após ter sido usado para garantir um alto nível de segurança. A resposta do JSON será semelhante a esta:

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

    Se ocorrer um erro, um JSON semelhante ao JSON abaixo aparecerá em vez da resposta normal do JSON:

    {
       "message": "The error message will be here."
    }
    
  4. Faça login do usuário com o token

    Passe o token de autenticação no link do seu fórum em seu site. Por exemplo:

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

    Substituir AUTHTOKEN com o token de autenticação recuperado nas etapas anteriores. Substituir REMEMBER com 1 se você quiser manter o usuário conectado mesmo após o fechamento do navegador ou excluí-lo se quiser que o usuário seja desconectado ao final da sessão do navegador.

    Se você estiver usando o código de incorporação, poderá passar o token de autenticação para a página na qual o fórum está incorporado ou dentro do src atributo do código de incorporação. Por exemplo:

    <!--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, se você não quiser passar o token de autenticação no endereço do fórum, você pode adicionar a seguinte tag HTML IMG à sua página inicial de “login bem-sucedido”:

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

    Devido ao bloqueio de cookies de terceiros no navegador Safari, a abordagem de tag IMG não funcionará no Safari, a menos que você tenha conectou seu domínio ao seu fórum.

  5. Desconecte o usuário com o token

    Depois que um usuário sair do seu site, redirecione-o para o seguinte endereço para também sair do fórum:

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

    Substituir REDIRECT_URL com o endereço do site codificado em URL para o qual você gostaria de enviar o usuário após ele ter sido desconectado do fórum. Substituir AUTHTOKEN com o token de autenticação recuperado nas etapas anteriores. Quando usado com a finalidade de sair, um token é válido por 6 meses, mesmo que já tenha sido usado para fazer login de um usuário. Depois de usado para desconectar um usuário, o token expira imediatamente.

    Como alternativa, se você não quiser redirecionar o usuário, adicione a seguinte tag HTML IMG à página de destino “sair com sucesso” do seu site:

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

    Devido ao bloqueio de cookies de terceiros no navegador Safari, a abordagem de tag IMG não funcionará no Safari, a menos que você tenha conectou seu domínio ao seu fórum.

  6. Faça seu fórum usar a página de login do seu site

    Na Configurações -> Login único seção da sua conta do Website Toolbox, especifique o endereço do seu site Página de login para garantir que todos os logins do fórum ocorram usando o formulário de login do seu site.

    Quando direcionamos um usuário para sua página de login, adicionaremos um requestURI parâmetro para o URL. Esse parâmetro carregará o caminho da página (por exemplo, /categorias) de onde o usuário se originou. Dessa forma, depois que eles fizerem login, você poderá enviá-los de volta para a mesma página.

  7. Faça com que seu fórum use a página de logout do seu site

    Opcionalmente, no Configurações -> Login único seção da sua conta do Website Toolbox, especifique o endereço do seu site Página de desconexão para garantir que os usuários vejam a página de desconexão do seu site depois de saírem do fórum.

Use um domínio personalizado e nosso código de incorporação, API e webhooks para configurar uma integração ainda mais profunda.


If you still need help, please contact us.