SSO portal

Permita o acesso registrado dos seus clientes ao seu portal. 

Single Sign On (SSO) é um mecanismo pelo qual torna-se possível que um usuário obtenha acesso a múltiplos serviços após autenticar-se somente uma vez em qualquer um destes serviços. 

Usando o recurso SSO portal

Inicie a sessão com seu login e senha de administrador e acesse o item "Administrador" no menu lateral para então, acessar o item "SSO portal". Quando você entra, encontra a listagem de tokens já gerados. Ao criar uma conta no tolvdesk, você não encontrará nenhum token, portanto é necessário gerar um token para iniciar as configurações. ​

Neste momento, o tolvdesk implementa apenas a autenticação de acesso SSO ao portal para os seus clientes. Para utilizar o SSO para acesso dos seus agentes, entre em contato com nosso suporte via chat ou via e-mail: suporte@tolv12.com. 


Novo token Privado para SSO portal

Na tela de listagens de SSO, clique no botão "Novo" para gerar um novo token. Veja os detalhes:


• Nome do aplicativo: Use para identificação interna, não impacta em nada na utilização do SSO.

• Permitir requisições apenas deste IP:  Informe o IP público do servidor de sua aplicação. Caso não seja informado, serão permitidas requisições de qualquer origem. 

Todos os campos com asterisco em vermelho são obrigatórios. 

Clique em "Continuar" e insira a sua para gerar o token privado que será utilizado para você criar os tokens de sessão. 

Atenção: o token privado não deve nunca ser exposto para seu usuário. Todas as operações feitas com o token privado devem ocorrer no backend da sua aplicação (no servidor) e jamais no frontend. 


Copiando o token

Depois de criado, como informado acima,  um novo aplicativo é listado no painel de SSO. Conheça os detalhes da lista:

• Nome:  Nome que foi informado para identificação com a aplicação. 

• Inativo/Ativo: Habilite para torná-lo ativo no sistema ou desabilite para que não seja utilizado. 

• Copiar token: Clique para copiar o token gerado. 

• Editar: Edite o conteúdo deste token. 

• Excluir: Clique para deletar este token. 


Token de sessão

Com o token privado você poderá gerar tokens de sessão. Estes tokens de sessão permitirão que você redirecione seu cliente ao seu portal de forma que, ele já entre autenticado. 


Criando Tokens de sessão

Em uma requisição síncrona, faça uma requisição HTTP/GET no endereço http://api.tolvdesk.com/v1/sso passando por parâmetro o e-mail do cliente que você cadastrou no tolvdesk. Nesta mesma requisição, você deve incluir um header com nome "Authorization e valor:  'Bearer' + Token privado" que você criou:

Observação: Caso o e-mail passado na requisição HTTP/GET não esteja cadastrado ainda como um contato, ele será cadastrado automaticamente e a informação que constar antes do "@", será o nome deste novo contato criado. Veja o exemplo abaixo:


Authorization: Bearer [token] 

Exemplo:  
GET 
http://api.tolvdesk.com/v1/sso?email=seucliente@empresa.com.br 

Retorno: 
error: [eventuais erros na requisição], 
accessToken: "[TOKEN DE SESSÃO]"

Você pode opcionalmente, cadastrar o contato vinculando-o a uma empresa previamente cadastrada no sistema usando duas opções:

Opção 1: Domínio da empresa
Com uma empresa previamente cadastrada e com o domínio informado em seu cadastro, a API SSO ao receber o e-mail do contato, identificará o domínio que encontra-se depois de "@" e vinculará o contato à empresa que tenha este mesmo domínio em seu cadastro.

Opção 2: Identificação
No cadastro da empresa, existe um campo chamado "Identificação". Adicione ao final da requisição, o seguinte valor, sem aspas:
"&identificacao_empresa=meu_cliente", onde "meu_cliente" é a identificação da empresa cadastrada no sistema. 

Observação:
Para contatos já cadastrados sem empresa vinculada ou com empresa vinculada, não será efetuada nenhuma alteração. Para alterar este contato e vinculá-lo a uma empresa, utilize a API Rest.

Exemplo:  
GET 
http://api.tolvdesk.com/v1/sso?email=seucliente@empresa.com.br&identificacao_empresa=meu_cliente

Importante: o token de sessão tem validade de 5 minutos. Você deve utilizá-lo apenas para direcionar o usuário pois depois desse tempo, ele ganhará uma nova sessão dentro do portal. 

Códigos de erros possíveis no retorno

400 - Conteúdo não encontrado 
300 - Erro de validação 
100 - Erro interno da aplicação 

Direcionando a navegação do cliente

O passo seguinte é redirecionar seu cliente para a URL formada "http://[seu endereço do portal]/portal/sso/[accessToken]", passando o Token de sessão (accessToken). :

Exemplo de utilização do SSO com PHP: 
[EMAIL DO CLIENTE] = Substitua pelo e-mail do seu cliente/contato
[TOKEN_PRIVADO] = Substitua pelo token criado no gerenciador da sua conta
[URL DA CONTA] = Substitua pela URL personalizada da sua conta (empresa.tolvdesk.com ou seu domínio personalizado)


$url = 'http://api.tolvdesk.com/v1/sso?email=[EMAIL DO CLIENTE]';
$token_privado = "Bearer [TOKEN_PRIVADO]";

try {

  $ch = curl_init($url);
  curl_setopt($ch,CURLOPT_HTTPHEADER,array("Authorization: $token_privado"));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $retorno = curl_exec($ch);
  curl_close($ch);

} catch(Exception $e) {
  var_dump($e);
  $retorno = false;
}

if($retorno) {
  $json = json_decode($retorno);
  $url_redirecionamento = "http://[URL DA CONTA]/portal/sso/".$json->accessToken;
  echo "Redirecionar para: ".$url_redirecionamento;
} else {
  echo "Erro";
}

Caso você tenha dúvidas sobre o processo ou precise de alguma ajuda, entre em contato com nosso suporte via chat ou via e-mail: suporte@tolv12.com.