Bookker API Documentation logo Bookker API Documentation

Módulo de autenticación, autorización y registro

Última modificación: 10/03/2021

Autenticación

Para poder hacer uso del API de Bookker B2B, las aplicaciones deberán utilizar el siguiente flujo:

  1. El cliente se autentica, mediante usuario y contraseña, haciendo una petición al servidor del API.
  2. Una vez que el servidor verifica la identidad del cliente, se genera un token de acceso (JWT) que es enviado al cliente.
  3. El cliente usa ese token para acceder a los recursos protegidos del API.
  4. En cada petición, el servidor desencripta el token y comprueba si el cliente tiene permisos para acceder al recurso.

Autenticación con JWT

Autenticación

Intenta autenticar al usuario mediante username / email y contraseña.

Request

HTTP request
POST /api/v1/login
Headers
Header Value Required
Content-Type application/json true
Body
Property Type Description Required
username String El alias o el email del usuario. true
password String La contraseña del usuario. true

Response

Si se ha conseguido autenticar correctamente al usuario, se devuelve un código 200 con la información básica del usuario y el token de autorización en el cuerpo de la respuesta.

HTTP/1.1 200 OK
Content-type: application/json
{
    "token": "eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6IjgwMzkwMmRiNmM5MDQ5ODdhNjM2MWMzZTkxYzZlZmExIiwiZXhwIjoxNTg5NTI3Mzk3LCJyb2wiOlsiMWRmZGUwNTktZGE2NS00OWM5LThkYjMtZGNjYzRmMzI5MmU0Il19.4nI2H0NHg3TNJMD7S7aYRLSV2FYCapPYAWKBqALafw5LzUooNli3VMHDzgeIq1sPQuaMlUyRHp-aZFVD7J_Xyw"
}

Refresco Autenticación

Intenta refrescar el token del usuario. Solo se podrá refrescar con éxito si el token anterior no ha expirado.

Todos los tokens se pueden utilizar hasta su fecha de expiración, pudiendo hacer uso de más de uno de ellos.

Request

HTTP request
GET /api/v1/login/refresh
Headers
Header Value Required
Authorization Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… true
user-access-token aZJ0eXBl0sdSldUIiwiYKsnIjoiSFM1MT… false

Response

Si se ha conseguido refrescar el token de autorización correctamente se devuelve un código 200 con la información del nuevo token de autorización en el cuerpo de la respuesta.

HTTP/1.1 200 OK
Content-type: application/json

{
    "token": "eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6InRlc3QxNTU5ODE4NjkyMzUxIiwiZXhwIjoxNTYwNjgyOTAwLCJyb2wiOlsiTU9DS19NT0JJTEVfUk9MRTE1NTk4MTg3MTM0NDciXX0.GaCyT8AyFWb_iGFk8xBNrsgfNtPU0BxFvlEgCDsvC5HZ0TEoQj-OzLY99O0sLZGBGUHT9EJTZX4gIzIwz4SMDQ"
}

Autorización

En todas las peticiones que requieran autorización habrá que enviar el token de autenticación como un header de la propia petición de la siguiente manera:

Header Value Required
Authorization Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MT… true

Ejemplo:

GET http://localhost:9010/api/v1/users HTTP/1.1
authorization: Bearer eyJ0eXBlIjoiSldUIiwiYWxnIjoiSFM1MTIifQ.eyJpc3MiOiJzZWN1cmUtYXBpIiwiYXVkIjoic2VjdXJlLWFwcCIsInN1YiI6IkFpdG9yR0MiLCJleHAiOjE1NTk4MTExNTEsInJvbCI6W119.MRBm5ESWLaIj_jTURCgRkrg3UUJv1gMbwmfGxtcpurlXif9PtmcRMvon4qKYA1V8_LeMg0oJl7ZOohPvk_URmA

Bibliografía