SSO Client
Biblioteca javascript de consumo do SSO Server.
Para utilizar a biblioteca de SSO Client basta instanciar o objeto de SSO no boostrap da sua aplicação.
Por exemplo:
1. No boostrap da sua aplicação
window.SSO = new Sso(configuration.sso);
Criar um arquivo chamado app.config.js com as configurações do sso, conforme trecho abaixo.
app.config.js (Alterar os atributos cookieDomain e gatewayEndpointLogin e adicionar o GUID e SECRET da aplicação atual para os respectivos valores conforme ambiente)
sso: authentication: consts: token: 'HB-AUTH-TOKEN' // cookieDomain: 'ontimeambev.com.br', cookieDomain: 'localhost' front: //a cada 30 minutos timeToRenewToken: 1000 * 60 * 30 //a cada 43 minutos, foi multiplicado por 3.33 para não dar conflito com o tempo de renew inactiveTimeToLogout: 1000 * 60 * 13 * 333 // gatewayEndpointLogin: 'https://ontimeambev.com.br/app/login', gatewayEndpointLogin: 'http://localhost:3003/app/login' api: timeout: 10000 server: 'https://sso.ontimeambev.com.br' ssoEndpoint: 'api/authsso/login' basicEndpoint: 'api/authbasic/login' claimsEndpoint: 'api/token/getClaims' renewEndpoint: 'api/token/Renew' consumer: guid: '' secret: ''
Para enviar o token para o seu backend, no interceptor da sua biblioteca de requisições, adicionar o token nos headers da requisição, exemplo do axios:
2. Axios
const storedToken = SSO if storedToken != "" configheaders = configheaders || {}; configheaders"Content-type" = "application/json" configheadersSSOsettingsauthenticationconststoken = storedToken
3. Verificação de usuário autenticado (React)
app.js
async { const token = await SSO if !token || Objectlength == 0 SSO }
Funções disponíveis no SSO Client:
Limpa dos cookies de autenticação
: void
Retorna um objeto com as claims do usuário
: Promise
Retorna a string do token de autenticação
: string
Retorna o objeto de autenticação
: object
Retorna o nome do usuário
: string
Retorna as aplicações que o usuário tem acesso
: array
Login automático por NTLM (Windows Autentication).
: Promise
Login com as credenciais (usuario e senha)
: Promise
Faz o logout, limpa os dados de autenticação
: void
Faz o logout e redireciona para a tela de login, possibilitando passar uma url de retorno, caso contrario ele pega a URL de origem do logout para redirecionar devoltar
: void
Faz a requisição de uma renovação de token
: Promise
Seta um token no cookie
: void