Autenticação
Temos um microserviço centralizado para autenticação em todos nossos sistemas:
Auth: https://auth.codilo.com.br/.
Para a utilização de nossas APIs, usamos o padrão OAuth2.0 de client_credentials.
OAuth2
Utilizado para receber um token válido (expirável) que deve ser informado em todos os endpoints da API.
Tipos de permissão
Scope | Scope Descrição | Descrição |
---|---|---|
cw-api:admin | scope admin | Acesso total |
cw-api:w | scope write | Somente escrita |
cw-api:r | scope read | Somente leitura |
Requisição
POST https://auth.codilo.com.br/oauth/token
Parâmetros
{
"grant_type": "client_credentials",
"id": "key",
"secret": "secret"
}
Retorno (json)
Chave | Descrição |
---|---|
token_type | Tipo do token retornado |
access_token | Token de acesso gerado |
expires_in | Tempo de expiração do token |
Na resposta, virá a propriedade access_token. Este é um JWT válido do usuário logado que pode ser usado em qualquer requisição de nossas APIs. Deve ser enviado como header na propriedade Authorization:.
Assim que qualquer destas requisições retornar Access Denied (Status Code: 401), deve ser gerado um novo access_token para ser reutilizado nas próximas consultas até sua expiração.
Status | Significado | Descrição | Schema |
---|---|---|---|
200 | OK | Sucesso | None |
401 | Undocumented | "key" must be one of [cnj, number, cartaprecatoria, doc, documentodelegacia, legado, nome, nomeadvogado, oab, numerocda, nomeadv, nomeparte, numorigem, numregistro, numstj] | None |
401 | Unauthorized | Access denied | None |
429 | Too Many Requests | Waiting for request data | None |
Fluxo
Obter token
Para o token, nossa API segue o padrão OAuth2 de client credentials.
O access_token via API deve ser obtido com um POST em: https://auth.codilo.com.br/oauth/token. Utilizar body:
{
"grant_type": "client_credentials",
"id": "key",
"secret": "secret"
}
Informar token nas requisicoes
Assim que retornado, o access_token será passado no header nas requisições da API, na propriedade Authorization.
Exemplo:
Headers: { "Authorization": "Bearer access_token_retornado" }
Token expirado
Quando o token expirar, nossa API retorna Access Denied, sendo necessário solicitar um novo access_token no endpoint /oauth/token.