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

}