Trusted Token
A integração via Trusted Token é uma forma segura e eficiente de estabelecer uma comunicação entre o seu IdP e o Looqbox. Este método de integração permite que clientes confiáveis requisitem tokens e iniciem sessões de usuários sem a necessidade de interação direta dos usuários finais. Aqui, vamos explorar dois fluxos principais dessa integração:
Fluxo 1: Obtenção de Token de Cliente
Descrição
Neste fluxo, as aplicações têm a capacidade de solicitar um token de acesso diretamente ao servidor de autorização do Looqbox, fornecendo seu Client ID e Client Secret.
Resposta
O resultado será o retorno do access_token (token de acesso do cliente) e do refresh_token (token de renovação). Ambos os tokens têm uma validade específica e devem ser guardados para uso em futuras autorizações.
Parâmetros da Requisição
grant_type (obrigatório): Utilizado para a obtenção de tokens fora do contexto de um usuário. Valor:
client_credentials.Autenticação do Cliente (obrigatório): A autenticação é feita via HTTP Basic Auth utilizando o
client_ideclient_secret.
POST /oauth2/token?grant_type=client_credentials
Authorization: Basic xxxxxExemplo curl:
curl -X POST ${host}/oauth2/token?grant_type=client_credentials -H 'Authorization: Basic xxxxx'Fluxo 2: Login de Usuário (Server-side)
Descrição
Por meio deste fluxo, um cliente confiável pode solicitar o início da sessão do usuário no Looqbox.
Resposta
A resposta desta chamada será o redirecionamento para a página inicial do Looqbox com a sessão de usuário já iniciada, usando uma URL que foi previamente cadastrada para o cliente.
Parâmetros da Requisição
grant_type (obrigatório): Utilizado para a obtenção de acesso no contexto de um usuário por um cliente confiável. Valor:
trusted_relationship.client_assertion (obrigatório): Refere-se ao token de acesso do cliente obtido anteriormente.
redirect_uri (obrigatório): É a URI de redirecionamento para o Looqbox após a conclusão bem-sucedida do fluxo. Deve ser uma URI válida, previamente cadastrada e seguida pelo prefixo "/oauth2/callback".
Autenticação do Cliente (obrigatório): Similar ao Fluxo 1, a autenticação é feita via HTTP Basic Auth utilizando o
client_ideclient_secret.
Corpo da Requisição (request body)
As informações do usuário que iniciará o fluxo SSO no Looqbox são enviadas via corpo da requisição no formato JSON. Há uma necessidade de configuração prévia para mapear as claims da plataforma e do Looqbox. Isso garante que as claims sejam corretamente identificadas.
Informações obrigatórias do usuário incluem:
login
nome
email
grupo de acesso
A integração bem-sucedida também exige a configuração prévia dos grupos de acesso no Looqbox. Assim, apenas os usuários com grupos autorizados poderão acessar.
POST /oauth2/login?grant_type=trusted_relationship&redirect_uri=https://host-exemplo.com/oauth2/callback&client_assertion=xxxxxxxxxx
Authorization: Basic xxxxx
{
"login": "jane_doe",
"name": "Jane Doe",
"email": "[email protected]",
"accessGroup": "Looqbox-Group"
}Exemplo curl:
curl -X POST {host}/oauth2/login?grant_type=trusted_relationship&redirect_uri=https://host-exemplo.com/oauth2/callback&client_assertion=xxxx
-H 'Content-Type: application/json'
-H 'Authorization: Basic xxxxx'
-d '{"login": "jane_doe", "name": "Jane Doe", "email": "[email protected]", "accessGroup": "Looqbox-Admin"}'Ao seguir os fluxos acima, você poderá estabelecer uma integração robusta e segura entre o seu IdP e o Looqbox, garantindo uma experiência fluida e confiável para seus usuários finais.
Last updated
Was this helpful?