Login With Password
Este endpoint permite recuperar la información de un perfil del servicio Trust IDP mediante el uso de uno o más identificadores para reconocer al usuario y una autenticación, para validar que el usuario es quien solicita la información.
En la respuesta, se entrega toda la información que conforma un perfil: uuid, nin, username, phone_number, email, origin, name, lastname, birthday, nationality, timezone, two_factor_authentication, active, identification_provider. Para mayor información sobre estos campos, revisar endpoint de creación de perfil de usuario.
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer {{access_token}} | access_token obtained in Atenea |
Method: POST
URL: https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/login
Path Variables:
Key | Value Example | Description |
---|---|---|
company_id | -1 | Identificador de la compañia, provisto por la empresa Trust. Obligatorio |
caution
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea.
Body
Fields
- credentials: Llave utilizada para contener toda la identificación y autenticación del perfil a acceder. Seleccionar los atributos indicados a continuación basándose en la lista de identificadores y authenticadores permitidos por el formulario de login.
- nin: Identificador Único Nacional de la persona a acceder.
- origin: Subdivisión interna de la compañia aplicada al perfil de usuario.
- username: Apodo o identificador personalizado creado por el usuario.
- phone_number: Número de teléfono utilizado por el usuario para el contacto.
- email: Correo electrónico utilizado por el usuario para el contacto
- password: String de carácteres únicos creados por el usuario como medio de autenticación.
Example
{
"credentials": {
"email": "tlat@email.com",
"origin": "test_idp",
"password": "*******"
}
}
Code Examples
- Curl
- JavaScript
- Python
curl --location --request POST 'https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/login' \
--header 'Authorization: Bearer `{{access_token}}`' \
--header 'Content-Type: application/json' \
--data-raw '{
"credentials": {
"email": "tlat@email.com",
"origin": "test_idp",
"password": "*******"
}
}'
import requests
import json
url = "https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/login"
payload = json.dumps({
"credentials": {
"email": "tlat@email.com",
"origin": "test_idp",
"password": "*******"
}
})
headers = {
'Authorization': 'Bearer `{{access_token}}`',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({
"credentials": {
"email": "tlat@email.com",
"origin": "test_idp",
"password": "*******"
}
});
var config = {
method: 'post',
url: 'https://api.trust.lat/trust-idp/v1/companies/:company_id/profiles/login',
headers: {
'Authorization': 'Bearer `{{access_token}}`',
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Responses
HTTP Code: 200 OK
Login Successful
{
"code": 200,
"resource": "Profile",
"data": {
"uuid": "ffffffff-ffff-ffff-ffff-ffffffffffff",
"nin": "123456789",
"username": "tlat",
"phone_number": "+56912345678",
"email": "tlat@email.com",
"origin": "test_idp",
"name": "test",
"lastname": "latin",
"birthday": null,
"nationality": null,
"timezone": null,
"trusted_fields": {},
"field_expiration_time": {},
"two_factor_authentication": [],
"active": true,
"identification_provider": "test_idp"
},
"message": "Found"
}
HTTP Code: 401 Unauthorized
Missing Access Token
{
"status": 401,
"error": "Invalid or expired token"
}
HTTP Code: 409 Conflict
Profile Not Active
{
"code": 409,
"resource": "Profile",
"message": "Conflict",
"errors": "Profile is not active"
}
HTTP Code: 422 Unprocessable Entity
Failed Login Attempt
{
"code": 422,
"resource": "Profile",
"message": "Fail",
"errors": "Failed Login Attempt"
}