Autenticación

Necesitará autenticar sus solicitudes para acceder a cualquiera de los puntos finales de la API de Subsidy. En esta guía, veremos cómo funciona la autenticación. Subsidy necesita dos niveles de autenticación para sus solicitudes de API: autenticación con API key para identificar a su organización y JWT para la sesión del usuario.

Autenticación de API

Para autenticar sus solicitudes de API, debe proporcionar su API key en el encabezado de autorización. Su API key se le entregará cuando se registre para tener acceso. Debe incluirse en todos los pedidos realizados.

Ejemplo de pedido usando API key

curl https://api.subsidy.pe -H "Api-key: YOUR_API_KEY"

POST/users/login

Iniciar sesión

Para autenticar las solicitudes de usuario, debe proporcionar un JWT en el encabezado de autorización. Para obtenerlo debe iniciar sesión con su cuenta de usuario.

Atributos

  • Name
    username
    Type
    string
    Description

    El correo del usuario.

  • Name
    password
    Type
    string
    Description

    La contraseña del usuario.

Atributos de la respuesta

  • Name
    accessToken
    Type
    string
    Description

    JWT de la sesión del usuario.

  • Name
    refreshToken
    Type
    string
    Description

    Token para solicitar extender la sesión una vez vencida.

  • Name
    user._id
    Type
    string
    Description

    Identificador del usuario.

  • Name
    user.company
    Type
    string
    Description

    Identificador de la empresa asociada al usuario.

  • Name
    user.companyName
    Type
    string
    Description

    Nombre de la empresa asociada al usuario.

  • Name
    user.username
    Type
    string
    Description

    Correo del usuario.

  • Name
    user.dni
    Type
    string
    Description

    Documento del usuario.

  • Name
    user.name
    Type
    string
    Description

    Nombre completo del usuario.

  • Name
    user.position
    Type
    timestamp
    Description

    Rol del usuario. Puede ser user, admin o super_admin.

Pedido

POST
/users/login
{
  "username": "ejemplo@gmail.com",
  "password": "micontraseña"
}

Respuesta

{
  "accessToken": "YOUR_JWT",
  "refreshToken": "REFRESH_TOKEN",
  "user": {
    "_id": "WAz8eIbvDR60rouK",
    "company": "WAz8eIbvDR60rouK",
    "companyName": "Empresa del usuario",
    "username": "ejemplo@gmail.com",
    "dni": "12345678",
    "name": "Nombre del usuario",
    "position": "admin"
  }
}

Uso del JWT

Una vez se tenga el JWT, este se podrá usar para las solicitudes que el usuario necesite realizar. Se debe incluir además de la API key en el encabezado de autorización.

Ejemplo de pedido usando JWT

curl https://api.subsidy.pe \
 -H "api-key: YOUR_API_KEY" -H "Authorization: YOUR_JWT"

POST/users/refresh

Actualizar JWT

Cuando se termine el periodo de vida del JWT, se tendrá que hacer una solicitud para obtener uno nuevo. Para esto se usará el Refresh Token que también se obtiene al iniciar sesión.

Atributos

  • Name
    _id
    Type
    string
    Description

    Identificador del usuario.

  • Name
    refreshToken
    Type
    string
    Description

    Token para solicitar extender la sesión una vez vencida.

Atributos de la respuesta

  • Name
    accessToken
    Type
    string
    Description

    Nuevo JWT de la sesión del usuario.

  • Name
    refreshToken
    Type
    string
    Description

    Token para solicitar extender la sesión una vez vencida.

Pedido

POST
/users/refresh
{
  "_id": "WAz8eIbvDR60rouK",
  "refreshToken": "REFRESH_TOKEN"
}

Respuesta

{
  "accessToken": "YOUR_JWT",
  "refreshToken": "REFRESH_TOKEN",
}