Tabela de conteúdos

Autenticação via SSO

Esta forma de autenticação permite que seja realizado o login no sistema a partir de softwares de terceiro, este login é feito através de um token e um ID de usuário que são enviados pelo sistema terceiro após um processo de criptografia.

Para efetuar o acesso, será utilizado o endpoint SecurityG5/loginSSO que irá receber dois queryParams: auth e token, esses parâmetros consistem, respectivamente, no ID do usuário (USU_ID da tabela TB_USUARIO) e no horário de acesso, após passarem por um processo de criptografia.

Processo de criptografia


O token gerado no Security serve como chave de criptografia (hash MD5) para o horário e usuário utilizado para acesso.


Para o horário será utilizada uma marca temporal (unix timestamp), a mesma pode ser consultada através do site Epoch converter. Ao obter a marca temporal é utilizado o charset UTF-8 para converter o texto para bytes e então preenchido com o algarismo 0 a direita, até que se obtenha um múltiplo de 16 bytes, e em seguida realizar a criptografia no modelo AES/ECB/NoPadding utilizando o token como chave de criptografia. O item resultante do processo de criptografia será utilizado no parâmetro token da requisição de acesso. Este token tem uma validade de 2 minutos, qualquer acesso utilizando uma marca temporal anterior a 2 minutos é rejeitada pelo MentorWeb.

Para o parâmetro auth será utilizado o ID do usuário utilizado para login. Após obter o ID do usuário, deverá ser utilizado o mesmo processo de criptografia, ou seja, utilizar o charset UTF-8 para realizar a conversão de texto para bytes, em seguida preencher com o algarismo 0 a direita, até que seja obtido um múltiplo de 16 bytes, posteriormente realizada a criptografia AES/ECB/NoPadding utilizando o token gerado no security como chave de criptografia. O resultado do processo será utilizado como parâmetro auth na requisição de acesso.

Para auxiliar no desenvolvimento da integração disponibilizamos o arquivo criptografia_sso.rar, nele podemos informar o token, valor a ser criptografado e é exibido o processo de criptografia bem como o valor já criptografado. Para executar o arquivo é necessário ter o java instalado na máquina, abrir o prompt de comando (windows+R e digitar cmd), navegar até o diretório onde se encontra o arquivo e executar o mesmo através do comando “java EduCriptofiaUtil.java”.

Efetivação do login


Após o processo de criptografia deve-se realizar a chamada para o endpoint, enviando os parâmetros auth e token. Segue um exemplo da URL resultante:
http://localhost:8080/SecurityG5/loginSSO?auth=12e93917b0932d9c711a2589c44c5673&token=2fa91733eeadae92a1f8c4afe27f3bac
Ao realizar a chamada para esta URL, o MentorWeb irá realizar o redirecionamento para a tela inicial do usuário com base no perfil de acesso do usuário.



Para fins de desenvolvimento de terceiros, deverá chamar o MentorWeb na URL criada e redirecionar a tela do usuário do sistema terceiro com a URL retornada pelo MentorWeb, todas as informações inerentes ao redirecionamento já estão contidas no retorno, sendo necessário que o sistema terceiro apenas mantenha todas as informações de header enviadas na resposta pelo MentorWeb.

Ainda há dúvidas? Se você preferir, retire suas dúvidas com nosso suporte. Clique aqui e abra um chamado para atendimento. :-)
Voltar