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:
-
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=USERSubstituir 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.
-
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." } -
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.
-
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_URLSubstituir 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.
-
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.
-
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.