Single Sign On
Single Sign On (SSO) es un mecanismo de autenticación que permite que el usuario se autentique una sola vez y que luego pueda acceder a múltiples aplicaciones sin tener que volver a autenticarse.
En el caso de la app de Sipay Softpos, el Single Sign On (SSO) se utiliza para que el usuario se autentique una sola vez con una aplicación corporativa existente y al invocar el pago de tap-to-pay no tenga que volver a autenticarse.
Para poder activar esta característica de la integración, además de seguir las instrucciones técnicas contenidas en esta guía, debes solicitar la generación de un API-Key.
Las funciones que debes integrar son:
- Creación de usuarios
- Deshabilitación de usuarios
- Crear token de autenticación
- Programar la invocación de la app de Sipay Softpos
Creación de usuarios
Para crear un usuario, debes realizar una petición HTTP POST a la URL:
POST https://live.sipay.es/sipay_softpos_sso/api/v1/users
Con el siguiente cuerpo:
{
"email": "string",
"merchant_token": "string",
"store_token": "string"
}
enviando en las cabeceras el API-Key proporcionado por Sipay:
Authorization: <API-Key>
| Parámetro | Tipo | Descripción |
|---|---|---|
| string | Email del usuario del sistema externo | |
| merchant_token | string | Valor fijo proporcionado por Sipay |
| store_token | string | Valor fijo proporcionado por Sipay |
La respuesta será un JSON con el siguiente formato:
{
"status": "string"
}
con el código de respuesta 201 si el usuario se ha creado correctamente.
Deshabilitación de usuarios
Para deshabilitar un usuario cuando tenga que darlo de baja del sistema externo, debes realizar una petición HTTP PATCH a la URL:
PATCH https://live.sipay.es/sipay_softpos_sso/api/v1/users
Con el siguiente cuerpo:
{
"email": "string",
"enabled": false
}
enviando en las cabeceras el API-Key proporcionado por Sipay:
Authorization: <API-Key>
| Parámetro | Tipo | Descripción |
|---|---|---|
| string | Email del usuario del sistema externo | |
| enabled | boolean | Indica si el usuario está habilitado o no |
La respuesta con código HTTP 200 si el usuario se ha deshabilitado correctamente.
Crear token de autenticación
Antes de invocar el pago de tap-to-pay, debes crear un token de autenticación para el usuario que previamente debería haberse creado.
POST https://live.sipay.es/sipay_softpos_sso/api/v1/tokens
Con el siguiente cuerpo:
{
"email": "string"
}
enviando en las cabeceras el API-Key proporcionado por Sipay:
Authorization: <API-Key>
| Parámetro | Tipo | Descripción |
|---|---|---|
| string | Email del usuario del sistema externo |
La respuesta será un JSON con el siguiente formato:
{
"token": "string",
"expires_at": "1956-03-27T12:28:16.994Z",
"email": "string"
}
con el código de respuesta 201 si el token se ha creado correctamente.
Programar la invocación de la app de Sipay Softpos
Para entender esta sección se debe haber realizado la integración básica una venta.
Antes lanzar una venta, y controlando la expiración expires_at del token de autenticación generado previamente, se debe realizar un llamada con este payload:
{
"operation": "login",
"data": {
"issuer": "sipay",
"token": "<token de autenticación generado previamente>",
"license": "sipay"
}
}
Y si la respuesta recibida es correcta, se puede lanzar la venta y no se pedirá al usuario que se autentique nuevamente. Es importante que gestione adecuadamente la expiración del token de autenticación para generar uno nuevo y así evitar que el usuario tenga que volver a autenticarse.