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_id e client_secret.

POST /oauth2/token?grant_type=client_credentials
Authorization: Basic xxxxx

Exemplo 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_id e client_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?