Search docs/

Single Sign-On na Layers

Entregamos uma experiência de Login Unificado (Single Sign-On ou SSO) baseado no protocolo OAuth2 para otimizar o tempo gasto com gestão de contas e acessos aos recursos digitais.

Faça login com a Layers

Plataformas parceiras possuem o botão "Logar com Layers", facilitando o acesso com apenas um login.

O botão é um link com parâmetros adicionados que definem para qual aplicativo a Layers deve enviar o usuário e algumas configurações necessárias para o fluxo do protocolo OAuth2.

Com a intenção de facilitar a vida do desenvolvedor, a Layers desenvolveu uma lib que abstrai grande parte da lógica necessária para a implementação do botão - para utilizá-lo, é necessário utilizar a lib de Botão "Logar com Layers"

Escopos OAuth2

Escopo Acesso
openid account.id
profile account.createdAt
account.updatedAt
account.language
account.timezone
account.firstName
fullname account.name
email account.email
related.communities community.community
community.name
community.icon
community.logo
community.language
community.timezone
community.geolocation
community.color
community.createdAt
community.updatedAt
user.lastSeenAt
user.id
user.createdAt
user.updatedAt
user.alias
user.roles
user.permissions
related.groups group.id
group.name
group.alias
group.createdAt
group.updatedAt
group.enrollment.id
group.enrollment.kind
group.enrollment.entity
group.enrollment.group
group.enrollment.createdAt
group.enrollment.updatedAt
related.members member.id
member.name
member.createdAt
member.updatedAt
related.members.groups groups.id
group.name
group.alias
group.createdAt
group.updatedAt
group.enrollment.id
group.enrollment.kind
group.enrollment.entity
group.enrollment.group
group.enrollment.createdAt
group.enrollment.updatedAt

Layers OAuth2

Caso não queira utilizar a lib de Botão "Logar com Layers" e criar seu próprio fluxo, as especificações passo a passo do OAuth2 da Layers seguem abaixo.

Client-side

O cliente deverá abrir a seguinte url https://id.layers.digital, passando os seguintes pârametros:

Parâmetro Valor
client_id Identificador do app
response_type code (Atualmente o único aceitado)
redirect_uri URL de redirecionamento configurada anteriormente
scope Escopos configurados anteriormente (deve ser indentado com espaços)
state Mensagem adicional que pode ser utilizada para ser retornado na rota de token de acesso (OPCIONAL)

Exemplo de url: https://id.layers.digital/?client_id=myApp&redirect_uri=https://myApp.com&response_type=code&scope=openid profile fullname

Autenticação

Todas as chamadas devems ser feitas na url da API da layers: https://api.layers.digital

Após o usuário fazer o fluxo de login e aceitar os escopos, será redirecionado para https://{{redirect_uri}}?code={{code}}. Com este código de acesso {{code}}, será necessário fazer a seguinte requisição:

POST https://api.layers.digital/oauth/token
CopiarCopiado
Requisição do tipo FORM URL Encoded:
{
    "grant_type": "authorization_code",
    "client_id": "{{client_id}}",
    "code": "{{code}}",
    "redirect_uri": "{{redirect_uri}}"
}
CopiarCopiado
A API retornará um JSON com o seguinte formato:
Resposta:
{
    "access_token": "{{jwtToken}}",
    "token_type": "Bearer",
    "expires_in": Number // Em quanto tempo irá expirar este token,
    "state": String // Irá retornar o mesmo valor caso tenha sido utilizado na primeira chamada
}
CopiarCopiado
Anterior
LayersPortal.js
Próximo
Botão "Logar com Layers"