API Auth (Duratex)
A API Auth tem como objetivo fornecer e gerenciar as autenticações do usuários promovidas pela aplicações internas ou externas conectadas.
Exemplo de implementações no fluxo abaixo referente aos procedimentos que a API oferece: https://lucid.app/lucidchart/invitations/accept/inv_b3a5274e-7119-4f58-bed4-5a9a9e852a90
Endpoints disponíves para versão v2, utilizando o campo idExternal:
Criar nova conta
Método POST
http://accounts.staging.dtxlab.com.br/account/v2
{
"firstName": "André Luís",
"lastName": "Rodrigues Simões",
"idExternal": " 123456789",
"password": "dtxtemp123",
"clientId": "base-digital",
"customData": {
"userId": "5f484f58c9dde600082d43b2" <recomendado utilização para resgatar dados do usuário para dentro da aplicação>
}
}
Exemplo de resposta da requisição:
{
"clientId": "base-digital",
"isActive": true,
"providers": [
{
"name": "web"
}
],
"scopes": [],
"_id": "60dca4b0d7f9294f291351e8",
"password": "$2a$10$UvBhSuTBYdoZkbnSNVUNwe/94eXxnqy5oK85GhgvOdM/NmaXiSQeS",
"idExternal": " 123456789",
"lastName": "Rodrigues Simões",
"firstName": "André Luís",
"customData": {
"userId": "5f484f58c9dde600082d43b2"
},
"__v": 0
}
Alteração dos dados principais
Método PUT
http://accounts.staging.dtxlab.com.br/account/v2/<id do usuário criado pela API auth>
Authorization header
Type: Bearer Token <informar valor JWT gerador pelo login, campo access_token >
{
"firstName": "André",
"lastName": " Alves",
"idExternal": " 123456789",
"customData": {
"applicationId": "5b5b6907926535b21714f79d",
"applicationSlug": "base-digital"
}
}
Login
Método POST
http://accounts.staging.dtxlab.com.br/oauth/web/v2
{
"idExternal": " 123456789"
password:dtxtemp123
grant_type:password
client_id:base-digital
client_secret: 9.^+XGs<b#M=,8u)
}
Login Admin - Utilizado para alteração da senha do usuário
Método POST
http://accounts.staging.dtxlab.com.br/oauth/web
{
username: "admin"
password: <Verificar com a equipe de TI>
grant_type:password
client_id:base-digital
client_secret: 9.^+XGs<b#M=,8u)
}
Endpoints disponíveis para versão v1 :
Criar nova conta
Método POST
http://accounts.staging.dtxlab.com.br/account
{
"firstName": "André Luís",
"lastName": "Rodrigues Simões",
"email": "andre@email.com",
"password": "dtxtemp123",
"clientId": "base-digital",
"customData": {
"userId": "5f484f58c9dde600082d43b2" <recomendado utilização para resgatar dados do usuário para dentro da aplicação>
}
}
Exemplo resposta da requisição:
{
"clientId": "base-digital",
"isActive": true,
"providers": [
{
"name": "web"
}
],
"scopes": [],
"_id": "60dca4b0d7f9294f291351e8",
"password": "$2a$10$UvBhSuTBYdoZkbnSNVUNwe/94eXxnqy5oK85GhgvOdM/NmaXiSQeS",
"email": "andre@email.com",
"lastName": "Rodrigues Simões",
"firstName": "André Luís",
"customData": {
"userId": "5f484f58c9dde600082d43b2"
},
"__v": 0
}
Login
Método POST
http://accounts.staging.dtxlab.com.br/oauth/web
{
password:dtxtemp123
grant_type:password
client_id:base-digital
client_secret: 9.^+XGs<b#M=,8u)
}
Refresh token
Método POST
http://accounts.staging.dtxlab.com.br/oauth/web/refresh_token
{
refresh_token:<informar valor gerador através do login, campo refresh_token>
grant_type:password
client_id:base-digital
client_secret: 9.^+XGs<b#M=,8u)
}
Alteração da senha
Método POST
Authorization header
Type: Bearer Token <informar valor JWT gerador pelo login(Admin), campo access_token >
http://accounts.staging.dtxlab.com.br/account/<id do usuário criado pela API auth>/change-password
{
password: <nova senha>
}
Alteração dos dados principais
Método PUT
http://accounts.staging.dtxlab.com.br/account/<id do usuário criado pela API auth>
{
"firstName": "André",
"lastName": " Alves",
"customData": {
"applicationId": "5b5b6907926535b21714f79d",
"applicationSlug": "base-digital"
}
}
Validação do Token
Método GET
http://accounts.staging.dtxlab.com.br/oauth/validate?access_token=<informar valor JWT gerador pelo login, campo access_token >
Resposta da requisição
{
"status": true
}