Skip to content

Implementando um fluxo próprio 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âmetroValor
client_idIdentificador do app
response_typecode (Atualmente o único aceitado)
redirect_uriURL de redirecionamento configurada anteriormente
scopeEscopos configurados anteriormente (deve ser indentado com espaços)
stateMensagem 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:

bash
curl -X POST https://api.layers.digital/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code" \
  -d "client_id={{client_id}}" \
  -d "code={{code}}" \
  -d "redirect_uri={{redirect_uri}}"
Requisição do tipo FORM URL Encoded:
js
{
    "grant_type": "authorization_code",
    "client_id": "{{client_id}}",
    "code": "{{code}}",
    "redirect_uri": "{{redirect_uri}}"
}
A API retornará um JSON com o seguinte formato:
js
{
    "access_token": "{{jwtToken}}",
    "token_type": "Bearer",
    "expires_in": Number,
    "state": String
}