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

Logon único - Autenticação baseada em token

Se estiver a utilizar o WordPress, utilize a nossa Plugin para WordPress.

Podemos fazer isso por você. - Vá para o Definições de início de sessão único e selecione seu construtor de sites para que nossa equipe de desenvolvimento integre SSO para você, começando por apenas US $149.

Também oferecemos suporte ao Logon Único usando SAML, OAuth2, LDAP, SQL e OpenID.

Você pode usar a API de logon único (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ê envie uma solicitação HTTP de dentro do seu aplicativo para fazer login ou sair do seu fórum. Um token é retornado pela API, que é então usado em uma pequena tag IMG na próxima página para armazenar os cookies necessários do navegador.

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

  1. Se você estiver usando PHP, recomendamos que use nosso Biblioteca SSO PHP. Ele contém um arquivo com todo o código de biblioteca que você precisará e outros arquivos com uso de exemplo.

  2. Obtenha sua chave de API.
  3. No script de login do seu site, faça um Solicitação HTTP para o URL de login da API SSO:
  4. https://USERNAME.websitetoolbox.com/register/setauthtoken?type=json&apikey=APIKEY&user=USER

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

    Substituir USER com o nome de usuário do fórum que você gostaria de fazer login.

    Opcionalmente, você pode incluir um &email=EMAIL se você gostaria de ter a conta do fórum criada automaticamente nos casos em que a conta do fórum especificada ainda não existe. Recomendamos incluir o parâmetro de e-mail. Você também pode opcionalmente especificar outras informações da conta ou um &pw=PASSWORD para definir a senha da nova conta. (Substitua EMAIL e PASSWORD pelo endereço de e-mail e senha não criptografada/não criptografada do usuário.) Nos casos em que uma conta é criada sem uma senha, o usuário não poderá fazer login diretamente no fórum, a menos que redefina sua senha na página de login. O logon SSO funcionaria sem problemas mesmo sem a conta do usuário ter uma senha.

    Você também pode usar um endereço de e-mail como nome de usuário.

  5. Analise o JSON retornado pela solicitação HTTP para obter o token de autenticação e ID de usuário e, em seguida, armazená-lo em um cookie. A resposta JSON será semelhante a esta:

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

  6. Em seu site, adicione a seguinte tag HTML IMG à sua página inicial de “login bem-sucedido”:

    <img src="//USERNAME.websitetoolbox.com/register/dologin?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Substituir AUTHTOKEN com o token de autenticação recuperado na etapa 3.

    A janela do navegador que carrega a tag IMG será registrada no fórum como o usuário com o nome de usuário fornecido na etapa 2.

  7. Em seu site, adicione a seguinte tag HTML IMG à sua página inicial de “logout bem-sucedido”:

    <img src="//USERNAME.websitetoolbox.com/register/logout?authtoken=AUTHTOKEN" border="0" width="1" height="1" alt="">

    Substituir AUTHTOKEN com o token de autenticação recuperado na etapa 3.

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

  9. Na Configurações -> Logon Único da sua conta do Website Toolbox, especifique o endereço da Saída da página para garantir que os usuários sejam mostrados a página de logout do seu site assim que eles tiverem sido desconectados do fórum.

  10. Configure um subdomínio para o seu fórum. Por exemplo, https://forums.yourwebsite.com. Esta etapa é opcional. No entanto, o navegador Safari é fornecido com uma política de cookies conservadora que limita as gravações de cookies apenas para as páginas escolhidas (“navegadas para”) pelo usuário. Isso impede que o cookie de login do fórum seja definido na página inicial de “login bem-sucedido”. Portanto, a única maneira de fazer o logon único funcionar no navegador Safari é usar um subdomínio para o seu fórum ou também passar o token de autenticação no link do seu fórum em seu site. Por exemplo:

    <a href="https://USERNAME.websitetoolbox.com/?authtoken=AUTHTOKEN">Forum</a>

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

Notas importantes:

  • Se você comprou um nome de domínio gerenciado ou estiver usando um nome de domínio personalizado para seu fórum, use esse nome de domínio em vez de “UserName.WebsiteToolbox.com”.
  • Nome de usuário deve ser substituído pelo nome de usuário da Website Toolbox.
  • UM &userid=USERID pode ser passado em vez do parâmetro &user=USER parâmetro.
  • Se ocorrer um erro, JSON semelhante ao JSON abaixo aparecerá em vez da resposta JSON normal:

    {
       "message": "The error message will be here."
    }
    

  • Se você precisar fazer logout de um usuário e não tiver o token de autenticação que foi retornado durante a solicitação HTTP na etapa 2, você pode retreive o token de autenticação fazendo uma solicitação HTTP para a URL abaixo ou você pode gerar um novo token de autenticação.

    https://USERNAME.websitetoolbox.com/register/getauthtoken?type=json&apikey=APIKEY&user=USER

  • Você também pode integrar o processo de inscrição do seu site. Mais informações...
  • O token de autenticação recuperado na etapa 3 expira quando um novo token de autenticação é gerado ou imediatamente após ele ter sido usado para garantir um alto nível de segurança. O token de autenticação, quando usado para logout, só expira após um novo token de autenticação ter sido gerado.
  • Normalmente, o usuário será desconectado no final da sessão do navegador. Para manter o usuário conectado mesmo depois que o navegador é fechado, adicione &remember=1 ao final da URL nas etapas 5 e 9.
  • A string de consulta deve ser codificada em URL.
  • Use o nosso API para fazer todos os tipos de outras integrações.


If you still need help, please contact us.