Proveedores de identidad
Open Payments exige que cualquier servidor de autorización que emita concesiones interactivas se integre en un IdP.
Una concesión interactiva es aquella que requiere la interacción o el consentimiento explícito del propietario de recursos antes de que se pueda emitir un token de acceso. En Open Payments, debe emitirse una concesión interactiva antes de poder crear un recurso de pago saliente.
Después de que se inicia la solicitud de concesión interactiva y el servidor de autorización establece la sesión, el servidor proporciona al cliente el URI del IdP al que debe redirigir al usuario.
El siguiente diagrama ilustra el flujo de una concesión interactiva.
sequenceDiagram autonumber Cliente->>Servidor de autorización (Authorization server AS): solicitud POST de concesión de autorización (con objeto de interacción) Servidor de autorización (Authorization server AS)-->>Cliente: 200 OK, devuelve el URI de redirección para la interacción y el URI de continuación Cliente->>Servidor de autorización (Authorization server AS): navega al URI de redirección para la interacción Servidor de autorización (Authorization server AS)->>Servidor de autorización (Authorization server AS): comienza la interacción y configura la sesión Servidor de autorización (Authorization server AS)-->>Cliente: redirección temporal 302 hacia el URI del proveedor de identidad
con concesión de autorización de información en la cadena de consulta Cliente->>Proveedor de identidad (Identity provider IdP): redirige hacia el proveedor de identidad Proveedor de identidad (Identity provider IdP)->>Proveedor de identidad (Identity provider IdP): el propietario de recursos (p. ej., el usuario cliente)
acepta la interacción Proveedor de identidad (Identity provider IdP)->>Servidor de autorización (Authorization server AS): transmite la decisión de interacción Servidor de autorización (Authorization server AS)-->>Proveedor de identidad (Identity provider IdP): decisión 202 aceptada Proveedor de identidad (Identity provider IdP)->>Servidor de autorización (Authorization server AS): solicita finalizar la interacción Servidor de autorización (Authorization server AS)->>Servidor de autorización (Authorization server AS): finaliza la sesión Servidor de autorización (Authorization server AS)-->>Proveedor de identidad (Identity provider IdP): redirección temporal 302 para finalizar el URI
(definida en la solicitud de concesión de autorización inicial)
protegida con un hash único y
interact_ref en la cadena de consulta Proveedor de identidad (Identity provider IdP)->>Cliente: sigue la redirección Cliente->>Cliente: verifica el hash Cliente->>Servidor de autorización (Authorization server AS): solicitud POST de continuación de concesión de autorización con
interact_ref en el cuerpo para continuar con el URI Servidor de autorización (Authorization server AS)-->>Cliente: 200 OK, devuelve el token de concesión de autorización de acceso