Single Sign-On para o Painel do Atendente

Recurso Premium  Recurso Enterprise

O recurso Single Sign-On (SSO) é um recurso que permite o acesso de áreas restritas sem necessitar realizar login diretamente na área de destino. O acesso é realizado através uma chave única, que é criada através de um serviço existente, como por exemplo, uma intranet interna que o atendente acessa.

O TomTicket utiliza JSON Web Tokens (JWT) para realizar a autenticação.

Configurando o Single Sign-On

Antes de utilizar o recurso SSO (Single Sign-On) é necessário primeiramente definir uma chave de autenticação para validar o JWT recebido.

Usando o recurso de SSO para o Painel do Atendente, deverá haver um link em sua intranet ou computador do usuário que irá gerar o token e redirecionar o atendente para a área designada.

Para criar a configuração, realize os passos abaixo:

  1. Pelo Painel Administrativo, acesse o menu Gestão > Configurações da Conta > Single Sign-On;
  2. No campo Tipo de Autenticação defina o valor como Painel do Atendente;
  3. Em Chave Privada de Autenticação defina uma chave privada que será usada para criptografar o token JWT.
    Importante: Jamais divulgue essa chave e mantenha ela sempre em segurança.
  4. Clique no botão Salvar Modificações para adicionar a nova configuração.


Gerando o JWT

Um JWT (JSON Web Token) é um padrão aberto, que gera um token criptografado com informações do usuário. Com ele é possível identificar qual atendente irá realizar o acesso e também definir uma data limite para funcionamento desse token.

 O seu servidor deve gerar o token como informado abaixo.

Header

Primeiro defina o cabeçalho da requisição. Ele contém o algoritmo de criptografia.

 {
 'alg': 'HS256',
 'typ': 'JWT'
 } 

Payload

Defina o payload da requisição. O payload contém a identificação do atendente.

 {
  'iss': 'seu-site-dominio.com',
  'exp': 1552503274,
  'email': '[email protected]',
  'account': 'sua-conta'

Propriedades:

  • iss: domínio que criou o token (obrigatório)
  • exp: epoch de expiração do token (não obrigatório)
  • email: Endereço de email do atendente(obrigatório)
  • account: Sua conta no TomTicket

Assinatura

Após definido o Header e Payload, será gerada a assinatura que usará o Header e Payload codificados em base64 e sua Chave Privada. 

Essa informações serão concatenadas e criptografadas com um hash HMAC.

 HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  CHAVE-PRIVADA
 ) 

Criando o JWT

A chave JWT será o header codificado em base64, concatenado com o payload codificado em base64 e concatenado com a assinatura. Todas essas informações ao serem concatenadas são separadas por um ponto '.' (sem aspas), como exemplo abaixo:

JWT = base64UrlEncode(header)+"."+base64UrlEncode(payload)+"."+signature


Redirecionamento

Após gerar o token JWT, o usuário deve ser redirecionado para o Painel do Atendente no seguinte endereço:

https://painel.tomticket.com/login.html?jwt=TOKEN-JWT


Este artigo foi útil?  
Agradecemos sua avaliação.