Esta API está destinada a ser utilizada por los TPPs y Bancos.
Esta especificación define el mecanismo automatizado que permite a un participante (ya sea un TPP o un banco) registrar su software en la plataforma de APIs de Redeban. Para facilitar este proceso, se utilizan las APIs de Dynamic Client Registration (DCR), las cuales le permiten a los participantes la inscripción de uno o más clientes con el banco.
Una vez que el participante ha sido registrado en el directorio de participantes de Redeban, mediante las APIs previamente mencionadas, este puede obtener un documento SSA (software statement assertion) firmado por el mismo directorio.
El SSA obtenido mediante el registro es requerido en el payload de la solicitud en la API DCR para registrar el software del cliente. La respuesta exitosa de la API devuelve un Client ID que se utiliza en todos los endpoints de autenticación junto con el método de autenticación “private_key_jwt”.
Detalles sobre el SSA
El Software Statement Assertion (SSA) es un JSON Web Token (JWT) que encapsula los metadatos de una instancia de software perteneciente a un participante. Su propósito principal es proveer información confiable y verificable sobre la identidad y las capacidades del software cliente, como parte del proceso de registro ante el ecosistema de Open Banking.
Este JWT debe ser emitido y firmado digitalmente por el Directorio de Participantes de Redeban en el entorno de producción, garantizando así su autenticidad e integridad.
En el caso del ambiente de pruebas, los participantes pueden utilizar un SSA proporcionado por el equipo de soporte de Redeban, como parte del proceso de incorporación al entorno de pruebas.
Construcción del JSON Payload del SSA
El payload de un SSA debe ser una declaración de software conforme a la especificación RFC 7591. Además, el SSA debe estar representado como un JWT conforme a RFC 7519. La siguiente sección describe en detalle los perfiles de metadatos incluidos en dicha declaración.
Construcción del JSON Request de la API
Para registrarse como cliente, el participante debe enviar una solicitud HTTP POST al endpoint de registro correspondiente. Esta solicitud debe estar estructurada como un JSON Web Token (JWT) conforme a la especificación RFC 7519, utilizando el tipo de contenido application/jose.
El JWT debe estar firmado con uno de los algoritmos criptográficos permitidos por la especificación de Open Banking, garantizando así la integridad y autenticidad del mensaje.
La siguiente tabla detalla los campos requeridos y sus respectivas descripciones para la construcción del JWT:
Atributos del Header
| Metadatos | Descripción |
|---|---|
| typ | Debe estar configurado como JWT. |
| alg | Debe estar configurado como PS256. |
| kid | Se mantendrá igual al parámetro "x5t" (Huella Digital SHA-1 del Certificado X.509) del certificado de firma. |
Claims del request
| Claim | Descripción | Especificación | Opcional |
|---|---|---|---|
| iss | Emisor de la petición (TPP). | [RFC7519] | NO |
| iat | Fecha de la petición. | [RFC7519] | NO |
| exp | Fecha de expiración de la solicitud. | [RFC7519] | NO |
| aud | Audiencia/Destinatario del Token, es decir Redeban. | [RFC7519] | NO |
| jti | JWT ID. | [RFC7519] | NO |
| redirect_uris | URLs registradas que el TPP utilizará para interactuar con la plataforma de Redeban. | [OIDC-R] | NO |
| token_endpoint_auth_method | Especifica qué método de autenticación del endpoint de token quiere usar el TPP. | [RFC7591] | NO |
| grant_types | Un arreglo JSON que especifica qué puede solicitar el TPP para ser suministrado al endpoint de token como intercambio por un token de acceso. | [RFC7591] | NO |
| response_types | Un arreglo JSON que especifica qué puede solicitar el TPP para que sea devuelto desde el endpoint de autorización del banco. | [RFC7591] | YES |
| software_id | Debe coincidir con el software_id especificado en el SSA. | [RFC7591] | YES |
| scope | Es el alcance del OAuth: es 'payments' para el TPP y el ‘bank’ para los bancos participantes. | [RFC7591] | NO |
| software_statement | SSA emitido por el directorio de participantes de Redeban como parte del proceso de onboarding. | [RFC7519] | NO |
| application_type | Web. | [OIDC-R] | NO |
| request_object_signing_alg | Algoritmo que el TPP espera utilizar para firmar el objeto de solicitud si un objeto de petición será parte de la solicitud de autorización enviada al banco. | [OIDC-R] | YES |
| token_endpoint_auth_signing_alg | Algoritmo que el TPP utiliza para autenticarse con el endpoint del token si se usa private_key_jwt. | YES | |
| id_token_signed_response_alg field | Un campo de metadatos en OAuth/OpenID Connect DCR que especifica el algoritmo (por ejemplo, PS256) que el servidor de autorización debe usar para firmar el id_token devuelto al cliente después de la autenticación. | YES |
Estructura y ejemplo del Payload de la API DCR
Header: algoritmo y tipo de token
{
"alg": "PS256",
"typ": "JWT",
"kid": "Nb08iZVz6FmdRiTsR2ZruXG07IU="
}Payload: datos del JSON
{
"iss": "Redeban",
"iat": 1549357843,
"exp": 1758896825,
"aud": "https://authlete.com",
"jti": "cd73a7834554407f",
"redirect_uris": [
"https://www.saucedemo.com"
],
"token_endpoint_auth_method": "private_key_jwt",
"token_endpoint_auth_signing_alg": "PS256",
"grant_types": [
"client_credentials",
"authorization_code"
],
"response_types": [
"code"
],
"software_id": "SC-9c7527d4-6eb9-4f11-be81-4b8af33097d6",
"scope": "payments",
"software_statement": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IktOekxVaDUtQ1VJR3FSWm91R3lZcnZtUVVzOCJ9.eyJvcmdfandrc19lbmRwb2ludCI6Imh0dHBzOi8va2V5c3RvcmUuc3RhZ2UucmVkZWJhbm9wZW5maW5hbmNlLmNvbS9rZXlzdG9yZS9wcm9kdWN0aW9uL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy9PQi1mMWZkMTNhYS1kYTc5LTQyODUtOWM0Zi05MTk1MDU5Y2QzMWMuandrcyIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly93d3cuc2F1Y2VkZW1vLmNvbSJdLCJzb2Z0d2FyZV9jbGllbnRfbmFtZSI6IlRQUCBQcmVwcm9kIFVBVCBUZXN0Iiwic29mdHdhcmVfY2xpZW50X2lkIjoiU0MtOWM3NTI3ZDQtNmViOS00ZjExLWJlODEtNGI4YWYzMzA5N2Q2IiwibG9nb191cmkiOiJodHRwczovL29iZGlyZWN0b3J5LnN0YWdlLnJlZGViYW5vcGVuZmluYW5jZS5jb20vbG9nby9PQi1mMWZkMTNhYS1kYTc5LTQyODUtOWM0Zi05MTk1MDU5Y2QzMWMuc3ZnIiwiaXNzIjoiaHR0cHM6Ly9vYmRpcmVjdG9yeS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tIiwib3JnX3R5cGUiOiJUaGlyZCBQYXJ0eSBQcm92aWRlciIsInNvZnR3YXJlX2NsaWVudF9zdGF0dXMiOiJBY3RpdmUiLCJzb2Z0d2FyZV9jbGllbnRfZGVzY3JpcHRpb24iOiJUZXN0IFRQUCBQcmVwcm9kIFVBVCBUZXN0IiwiY29uc2VudF9tYW5hZ2VkYnlfYmFuayI6ZmFsc2UsInNvZnR3YXJlX2lkIjoiU0MtOWM3NTI3ZDQtNmViOS00ZjExLWJlODEtNGI4YWYzMzA5N2Q2Iiwic29mdHdhcmVfY2xpZW50X3VyaSI6Imh0dHBzOi8vd3d3LnRwcFBQVUFULmNvbSIsIm9yZ19pZCI6IlRQUDkwIiwic29mdHdhcmVfdmVyc2lvbiI6IjAuMSIsInNvZnR3YXJlX2Vudmlyb25tZW50IjoiUHJvZHVjdGlvbiIsInNvZnR3YXJlX3JvbGVzIjpbIlBJU1AiXSwiZXhwIjoxNzkwNTY4NTE3LCJvcmdfbmFtZSI6IlByZXByb2QgVUFUIFRlc3QgTmV3IiwiaWF0IjoxNzkwNTY4NTE3LCJvcmdfandrc19yZXZva2VkX2VuZHBvaW50IjoiaHR0cHM6Ly9rZXlzdG9yZS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tL2tleXN0b3JlL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy9yZXZva2VkL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy5qd2tzIiwianRpIjoiZDIxMWU3Y2ItZGJmOS00MjRmLTk3NmUtMzIzYjJiMjNiYzBiIn0.rLWgSIdBffBGiOIflJsv6RHF_WLYktj2STFjdu1D0OclZv_ziKM3wDgV8qoizSPaVQ6ootstXUwhxm6h36Oq2GIvQhfauELcp25lVzO-QJ-Yf6EuezzDq2Cj5CJmqbIaaSpjFCc4RaAcdh_SOtgfnmfj2BIMa4c1X_i9Fdn4Ut3srPiqTsKzj73ChiAHwGFvGvuQEwCKw_ENU5DGpoejofoOOS6Xb2yKjbcek-8mAxhpKmwV-qJsW6f0pIrVf3kezese3Rybxi3nW3E4BU9Qd1yBmtJPeMiPT2b3CASxNN07MjXxQ9jX_6xjX01n4cD0v05B5Or7exuTu4FPjFkTJA",
"application_type": "web",
"id_token_signed_response_alg": "PS256",
"request_object_signing_alg": "PS256"
}
Petición de ejemplo: CURL
curl --location 'https://api.snd.redebanopenfinance.com/register/v1' \
--header 'Content-Type: application/jose' \
--data 'eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik5iMDhpWlZ6NkZtZFJpVHNSMlpydVhHMDdJVT0ifQ.eyJpc3MiOiJSZWRlYmFuIiwiaWF0IjoxNTQ5MzU3ODQzLCJleHAiOjE3NTg4OTY4MjUsImF1ZCI6Imh0dHBzOi8vYXV0aGxldGUuY29tIiwianRpIjoiY2Q3M2E3ODM0NTU0NDA3ZiIsInJlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly93d3cuc2F1Y2VkZW1vLmNvbSJdLCJ0b2tlbl9lbmRwb2ludF9hdXRoX21ldGhvZCI6InByaXZhdGVfa2V5X2p3dCIsInRva2VuX2VuZHBvaW50X2F1dGhfc2lnbmluZ19hbGciOiJQUzI1NiIsImdyYW50X3R5cGVzIjpbImNsaWVudF9jcmVkZW50aWFscyIsImF1dGhvcml6YXRpb25fY29kZSJdLCJyZXNwb25zZV90eXBlcyI6WyJjb2RlIl0sInNvZnR3YXJlX2lkIjoiU0MtOWM3NTI3ZDQtNmViOS00ZjExLWJlODEtNGI4YWYzMzA5N2Q2Iiwic2NvcGUiOiJwYXltZW50cyIsInNvZnR3YXJlX3N0YXRlbWVudCI6ImV5SmhiR2NpT2lKUVV6STFOaUlzSW5SNWNDSTZJa3BYVkNJc0ltdHBaQ0k2SWt0T2VreFZhRFV0UTFWSlIzRlNXbTkxUjNsWmNuWnRVVlZ6T0NKOS5leUp2Y21kZmFuZHJjMTlsYm1Sd2IybHVkQ0k2SW1oMGRIQnpPaTh2YTJWNWMzUnZjbVV1YzNSaFoyVXVjbVZrWldKaGJtOXdaVzVtYVc1aGJtTmxMbU52YlM5clpYbHpkRzl5WlM5d2NtOWtkV04wYVc5dUwwOUNMV1l4Wm1ReE0yRmhMV1JoTnprdE5ESTROUzA1WXpSbUxUa3hPVFV3TlRsalpETXhZeTlQUWkxbU1XWmtNVE5oWVMxa1lUYzVMVFF5T0RVdE9XTTBaaTA1TVRrMU1EVTVZMlF6TVdNdWFuZHJjeUlzSW5OdlpuUjNZWEpsWDNKbFpHbHlaV04wWDNWeWFYTWlPbHNpYUhSMGNITTZMeTkzZDNjdWMyRjFZMlZrWlcxdkxtTnZiU0pkTENKemIyWjBkMkZ5WlY5amJHbGxiblJmYm1GdFpTSTZJbFJRVUNCUWNtVndjbTlrSUZWQlZDQlVaWE4wSWl3aWMyOW1kSGRoY21WZlkyeHBaVzUwWDJsa0lqb2lVME10T1dNM05USTNaRFF0Tm1WaU9TMDBaakV4TFdKbE9ERXROR0k0WVdZek16QTVOMlEySWl3aWJHOW5iMTkxY21raU9pSm9kSFJ3Y3pvdkwyOWlaR2x5WldOMGIzSjVMbk4wWVdkbExuSmxaR1ZpWVc1dmNHVnVabWx1WVc1alpTNWpiMjB2Ykc5bmJ5OVBRaTFtTVdaa01UTmhZUzFrWVRjNUxUUXlPRFV0T1dNMFppMDVNVGsxTURVNVkyUXpNV011YzNabklpd2lhWE56SWpvaWFIUjBjSE02THk5dlltUnBjbVZqZEc5eWVTNXpkR0ZuWlM1eVpXUmxZbUZ1YjNCbGJtWnBibUZ1WTJVdVkyOXRJaXdpYjNKblgzUjVjR1VpT2lKVWFHbHlaQ0JRWVhKMGVTQlFjbTkyYVdSbGNpSXNJbk52Wm5SM1lYSmxYMk5zYVdWdWRGOXpkR0YwZFhNaU9pSkJZM1JwZG1VaUxDSnpiMlowZDJGeVpWOWpiR2xsYm5SZlpHVnpZM0pwY0hScGIyNGlPaUpVWlhOMElGUlFVQ0JRY21Wd2NtOWtJRlZCVkNCVVpYTjBJaXdpWTI5dWMyVnVkRjl0WVc1aFoyVmtZbmxmWW1GdWF5STZabUZzYzJVc0luTnZablIzWVhKbFgybGtJam9pVTBNdE9XTTNOVEkzWkRRdE5tVmlPUzAwWmpFeExXSmxPREV0TkdJNFlXWXpNekE1TjJRMklpd2ljMjltZEhkaGNtVmZZMnhwWlc1MFgzVnlhU0k2SW1oMGRIQnpPaTh2ZDNkM0xuUndjRkJRVlVGVUxtTnZiU0lzSW05eVoxOXBaQ0k2SWxSUVVEa3dJaXdpYzI5bWRIZGhjbVZmZG1WeWMybHZiaUk2SWpBdU1TSXNJbk52Wm5SM1lYSmxYMlZ1ZG1seWIyNXRaVzUwSWpvaVVISnZaSFZqZEdsdmJpSXNJbk52Wm5SM1lYSmxYM0p2YkdWeklqcGJJbEJKVTFBaVhTd2laWGh3SWpveE56a3dOVFk0TlRFM0xDSnZjbWRmYm1GdFpTSTZJbEJ5WlhCeWIyUWdWVUZVSUZSbGMzUWdUbVYzSWl3aWFXRjBJam94Tnprd05UWTROVEUzTENKdmNtZGZhbmRyYzE5eVpYWnZhMlZrWDJWdVpIQnZhVzUwSWpvaWFIUjBjSE02THk5clpYbHpkRzl5WlM1emRHRm5aUzV5WldSbFltRnViM0JsYm1acGJtRnVZMlV1WTI5dEwydGxlWE4wYjNKbEwwOUNMV1l4Wm1ReE0yRmhMV1JoTnprdE5ESTROUzA1WXpSbUxUa3hPVFV3TlRsalpETXhZeTl5WlhadmEyVmtMMDlDTFdZeFptUXhNMkZoTFdSaE56a3ROREk0TlMwNVl6Um1MVGt4T1RVd05UbGpaRE14WXk1cWQydHpJaXdpYW5ScElqb2laREl4TVdVM1kySXRaR0ptT1MwME1qUm1MVGszTm1VdE16SXpZakppTWpOaVl6QmlJbjAuckxXZ1NJZEJmZkJHaU9JZmxKc3Y2UkhGX1dMWWt0ajJTVEZqZHUxRDBPY2xadl96aUtNM3dEZ1Y4cW9pelNQYVZRNm9vdHN0WFV3aHhtNmgzNk9xMkdJdlFoZmF1RUxjcDI1bFZ6Ty1RSi1ZZjZFdWV6ekRxMkNqNUNKbXFiSWFhU3BqRkNjNFJhQWNkaF9TT3RnZm5tZmoyQklNYTRjMVhfaTlGZG40VXQzc3JQaXFUc0t6ajczQ2hpQUh3R0Z2R3Z1UUV3Q0t3X0VOVTVER3BvZWpvZm9PT1M2WGIyeUtqYmNlay04bUF4aHBLbXdWLXFKc1c2ZjBwSXJWZjNrZXplc2UzUnlieGkzblczRTRCVTlRZDF5Qm10SlBlTWlQVDJiM0NBU3hOTjA3TWpYeFE5alhfNnhqWDAxbjRjRDB2MDVCNU9yN2V4dVR1NEZQakZrVEpBIiwiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsImlkX3Rva2VuX3NpZ25lZF9yZXNwb25zZV9hbGciOiJQUzI1NiIsInJlcXVlc3Rfb2JqZWN0X3NpZ25pbmdfYWxnIjoiUFMyNTYifQ.mzFMwEU0KLwlMcZ5QTAywdOXuxWmWfWV87DDRwPL1OQgr8hfgSGcXyGjg0RF40fDtECOjICQYfKzknP2xzuhfYTPUA-fuIQroajfZgFpeVAxC8u65Hdr0S2Sgln1O6fKdth5Ow_dOR-Uoa3IYZOdp73TwuUgiuPpkA9MDMT10FzyU7pApDYc88I-sHZeCFPeEBcQQDFjCMJGus72kYDMZ4Lr-rVfKSgLlaGkw21rBKe0OxGAkl1p_FL8VHogDlt_BOZk3-9VOLGnF_NW0VYDm8Rgaepsh_IXi0_j-EO2IBRZoJsupakUgSZuGclIBN2fYfcK6M0wLdjVsi1CuJClDQ'
Respuesta de la petición del ejemplo
{
"client_id": "3880630845",
"redirect_uris": [
"https://www.saucedemo.com"
],
"token_endpoint_auth_method": "private_key_jwt",
"grant_types": [
"authorization_code",
"client_credentials"
],
"response_types": [
"code"
],
"software_id": "SC-9c7527d4-6eb9-4f11-be81-4b8af33097d6",
"scope": "payments",
"software_statement": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IktOekxVaDUtQ1VJR3FSWm91R3lZcnZtUVVzOCJ9.eyJvcmdfandrc19lbmRwb2ludCI6Imh0dHBzOi8va2V5c3RvcmUuc3RhZ2UucmVkZWJhbm9wZW5maW5hbmNlLmNvbS9rZXlzdG9yZS9wcm9kdWN0aW9uL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy9PQi1mMWZkMTNhYS1kYTc5LTQyODUtOWM0Zi05MTk1MDU5Y2QzMWMuandrcyIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly93d3cuc2F1Y2VkZW1vLmNvbSJdLCJzb2Z0d2FyZV9jbGllbnRfbmFtZSI6IlRQUCBQcmVwcm9kIFVBVCBUZXN0Iiwic29mdHdhcmVfY2xpZW50X2lkIjoiU0MtOWM3NTI3ZDQtNmViOS00ZjExLWJlODEtNGI4YWYzMzA5N2Q2IiwibG9nb191cmkiOiJodHRwczovL29iZGlyZWN0b3J5LnN0YWdlLnJlZGViYW5vcGVuZmluYW5jZS5jb20vbG9nby9PQi1mMWZkMTNhYS1kYTc5LTQyODUtOWM0Zi05MTk1MDU5Y2QzMWMuc3ZnIiwiaXNzIjoiaHR0cHM6Ly9vYmRpcmVjdG9yeS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tIiwib3JnX3R5cGUiOiJUaGlyZCBQYXJ0eSBQcm92aWRlciIsInNvZnR3YXJlX2NsaWVudF9zdGF0dXMiOiJBY3RpdmUiLCJzb2Z0d2FyZV9jbGllbnRfZGVzY3JpcHRpb24iOiJUZXN0IFRQUCBQcmVwcm9kIFVBVCBUZXN0IiwiY29uc2VudF9tYW5hZ2VkYnlfYmFuayI6ZmFsc2UsInNvZnR3YXJlX2lkIjoiU0MtOWM3NTI3ZDQtNmViOS00ZjExLWJlODEtNGI4YWYzMzA5N2Q2Iiwic29mdHdhcmVfY2xpZW50X3VyaSI6Imh0dHBzOi8vd3d3LnRwcFBQVUFULmNvbSIsIm9yZ19pZCI6IlRQUDkwIiwic29mdHdhcmVfdmVyc2lvbiI6IjAuMSIsInNvZnR3YXJlX2Vudmlyb25tZW50IjoiUHJvZHVjdGlvbiIsInNvZnR3YXJlX3JvbGVzIjpbIlBJU1AiXSwiZXhwIjoxNzkwNTY4NTE3LCJvcmdfbmFtZSI6IlByZXByb2QgVUFUIFRlc3QgTmV3IiwiaWF0IjoxNzkwNTY4NTE3LCJvcmdfandrc19yZXZva2VkX2VuZHBvaW50IjoiaHR0cHM6Ly9rZXlzdG9yZS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tL2tleXN0b3JlL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy9yZXZva2VkL09CLWYxZmQxM2FhLWRhNzktNDI4NS05YzRmLTkxOTUwNTljZDMxYy5qd2tzIiwianRpIjoiZDIxMWU3Y2ItZGJmOS00MjRmLTk3NmUtMzIzYjJiMjNiYzBiIn0.rLWgSIdBffBGiOIflJsv6RHF_WLYktj2STFjdu1D0OclZv_ziKM3wDgV8qoizSPaVQ6ootstXUwhxm6h36Oq2GIvQhfauELcp25lVzO-QJ-Yf6EuezzDq2Cj5CJmqbIaaSpjFCc4RaAcdh_SOtgfnmfj2BIMa4c1X_i9Fdn4Ut3srPiqTsKzj73ChiAHwGFvGvuQEwCKw_ENU5DGpoejofoOOS6Xb2yKjbcek-8mAxhpKmwV-qJsW6f0pIrVf3kezese3Rybxi3nW3E4BU9Qd1yBmtJPeMiPT2b3CASxNN07MjXxQ9jX_6xjX01n4cD0v05B5Or7exuTu4FPjFkTJA",
"application_type": "web",
"id_token_signed_response_alg": "PS256"
}
Software Statement Assertion (SSA)
A Software Statement Assertion (SSA) es un JSON web token (JWT) firmado que contiene metadatos sobre una aplicación cliente de software, utilizado en los flujos de registro dinámico de cliente (DCR) de OAuth 2.0. Emitida por una autoridad confiable, la SSA sirve como prueba de que el cliente ha sido verificado o aprobado. Durante el registro, el cliente presenta el SSA al Servidor de autorización, que valida su firma, claims y emisor antes de aceptar y registrar al cliente.
SSA's Claims:
| Claim | Descripción | Valor de muestra |
|---|---|---|
| software_client_name | Nombre del cliente de software (aplicación o negocio que se integra con Open Banking). | ABC PVT LTD |
| software_client_id | Identificador único del cliente de software, asignado por el directorio de Open Banking. | SC-d06367ac-707b-40ba-b6a7-e8f9046bbfd1 |
| iss | Emisor: URL del directorio o entorno de Open Banking que emitió la SSA. | https://obdirectory.stage.redebanopenfinance.com |
| org_type | Tipo de organización que registra al cliente (por ejemplo, proveedor externo, banco, etc.). | Proveedor externa |
| software_client_status | Estado del cliente de software en el directorio (Active/Inactive/Revoked). | Active |
| software_client_description | Breve descripción del cliente del software o su propósito comercial. | ABC bussiness |
| consent_managedby_bank | Indica si la gestión del consentimiento la gestiona el banco(true/false). | false |
| software_id | Identificador único del software: a menudo el mismo que software_client_id. | SC-d06367ac-707b-40ba-b6a7-e8f9046bbfd1 |
| software_client_uri | URI para el cliente de software, normalmente la página de inicio o la página de destino correspondiente. | https://www.abctpp.com |
| org_id | Identificador único de la organización. | OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be |
| software_version | Versión del cliente de software. | 1.0 |
| software_environment | El entorno en el que opera el software(Production, Sandbox, etc). | Production |
| software_roles | Roles asignados al software(e.g., PISP-Payment Initiation Service Provider, ASPSP-Account Servicing Payment Service Provider). | PISP |
| exp | Marca de tiempo de caducidad para la SSA(Unix epoch time). | 1753443274 |
| org_name | Nombre de la organización. | ABC Ltd |
| iat | Marca de tiempo emitida para SSA (tiempo de época de Unix). | 1750851274 |
| jti | ID de JWT: identificador único para el token JWT (SSA). | 8fdd5386-10b6-453e-8c56-3cd4cea119c1 |
| software_redirect_uris | Lista de URI de redireccionamiento permitidas para flujos OAuth2/OpenID. | https://www.saucedemo.com |
| logo_uri | URI del logotipo de la organización. | https://www.logopage.com/logoimage.jpg |
| org_jwks_endpoint | Endpoint para el JWKS (conjunto de claves web JSON) de la organización utilizado para la verificación de la firma. | https://keystore.stage.redebanopenfinance.com/keystore/production/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.jwks |
| org_jwks_revoked_endpoint | Endpoint para JWKS revocados, que indica las claves en las que ya no se debe confiar. | https://keystore.stage.redebanopenfinance.com/keystore/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be/revoked/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.jwks""https://keystore.stage.redebanopenfinance.com/keystore/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be/revoked/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.jwks |
| id_token_signed_response_alg field | El SSA es un JWT firmado que contiene metadatos del cliente para el registro dinámico del cliente, donde id_token_signed_response_alg especifica el algoritmo de firma (por ejemplo, PS256) que el servidor de autorización debe usar para el id_token. | PS256 |
Ejemplo :
JWT :
eyJraWQiOiJLTnpMVWg1LUNVSUdxUlpvdUd5WXJ2bVFVczgiLCJ0eXAiOiJKV1QiLCJhbGciOiJQUzI1NiJ9.eyJvcmdfandrc19lbmRwb2ludCI6Imh0dHBzOi8va2V5c3RvcmUuc3RhZ2UucmVkZWJhbm9wZW5maW5hbmNlLmNvbS9rZXlzdG9yZS9zYW5kYm94L09CLTk2NWRkNTU0LWM2M2EtNDZhZi1hNmNlLTY5ZjVkZTY0MGM3Ni9PQi05NjVkZDU1NC1jNjNhLTQ2YWYtYTZjZS02OWY1ZGU2NDBjNzYuandrcyIsInNvZnR3YXJlX3JlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly93d3cuc2F1Y2VkZW1vLmNvbSJdLCJzb2Z0d2FyZV9jbGllbnRfbmFtZSI6Ik9zYm91cm5lIiwic29mdHdhcmVfY2xpZW50X2lkIjoiU0MtNjE2OWY5NTItM2M2MS00YTY0LTg2YTUtZjkxM2FlNWE1NzExIiwibG9nb191cmkiOiJodHRwczovL29iZGlyZWN0b3J5LnN0YWdlLnJlZGViYW5vcGVuZmluYW5jZS5jb20vbG9nby9PQi05NjVkZDU1NC1jNjNhLTQ2YWYtYTZjZS02OWY1ZGU2NDBjNzYuc3ZnIiwiaXNzIjoiaHR0cHM6Ly9vYmRpcmVjdG9yeS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tIiwib3JnX3R5cGUiOiJUaGlyZCBQYXJ0eSBQcm92aWRlciIsInNvZnR3YXJlX2NsaWVudF9zdGF0dXMiOiJBY3RpdmUiLCJzb2Z0d2FyZV9jbGllbnRfZGVzY3JpcHRpb24iOiJQYWFhYSIsImNvbnNlbnRfbWFuYWdlZGJ5X2JhbmsiOmZhbHNlLCJzb2Z0d2FyZV9pZCI6IlNDLTYxNjlmOTUyLTNjNjEtNGE2NC04NmE1LWY5MTNhZTVhNTcxMSIsInNvZnR3YXJlX2NsaWVudF91cmkiOiJodHRwczovL3d3dy5yZWRlYmFuLmNvbSIsIm9yZ19pZCI6Ik9CLTk2NWRkNTU0LWM2M2EtNDZhZi1hNmNlLTY5ZjVkZTY0MGM3NiIsInNvZnR3YXJlX3ZlcnNpb24iOiIxLjAiLCJzb2Z0d2FyZV9lbnZpcm9ubWVudCI6IlNhbmRib3giLCJzb2Z0d2FyZV9yb2xlcyI6WyJQSVNQIl0sImV4cCI6MTc1NjA2ODQ0MSwib3JnX25hbWUiOiJPenp5IiwiaWF0IjoxNzUzNDc2NDQxLCJvcmdfandrc19yZXZva2VkX2VuZHBvaW50IjoiaHR0cHM6Ly9rZXlzdG9yZS5zdGFnZS5yZWRlYmFub3BlbmZpbmFuY2UuY29tL2tleXN0b3JlL3NhbmRib3gvT0ItOTY1ZGQ1NTQtYzYzYS00NmFmLWE2Y2UtNjlmNWRlNjQwYzc2L3Jldm9rZWQvT0ItOTY1ZGQ1NTQtYzYzYS00NmFmLWE2Y2UtNjlmNWRlNjQwYzc2Lmp3a3MiLCJqdGkiOiI2OTVkMTIwYi0wZTJlLTRlNDQtOGU1OC0yMTkwZWIwOTI4MTUifQ.qB64xeDchhInVwm4F4hP1gVrRU7M7Xml0w9DPhp-8n1uD1kwsDJF6do3F9B-Z8MxLQ-aXIw0Avztj5Qm6yivgJiqSiwJexNldXyDTtk2aTlq0L7a9qhIB062kAvO94KnPQMPtzAtixOUKEBqHHCagpQSrq0KuLXqZ0tLnE9ugPBCbG6uzohIm56zSCyn8NMp1Ux6AW3GXfx7CxGYjtDZT9OkSRrnBTzZg9qjqNWm1qeCIcS1cPK-gF0_AdwIULIuX41DeVKz8ZIujPFfe2sWDlC66j9MTkga1dtcfKXw3dsYY9TDxhTdikLrrsG1IwVVE-4K6r7OjrX7KDT7wG_vag
Header:
{
"kid": "KNzLUh5-CUIGqRZouGyYrvmQUs8",
"typ": "JWT",
"alg": "PS256"
}SSA Payload:
{
"org_jwks_endpoint": "https://keystore.stage.redebanopenfinance.com/keystore/production/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.jwks",
"software_redirect_uris": [
"https://www.saucedemo.com"
],
"software_client_name": "TPP CRL Validation",
"software_client_id": "SC-d06367ac-707b-40ba-b6a7-e8f9046bbfd1",
"logo_uri": "https://obdirectory.stage.redebanopenfinance.com/logo/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.svg",
"iss": "https://obdirectory.stage.redebanopenfinance.com",
"org_type": "Third Party Provider",
"software_client_status": "Active",
"software_client_description": "TPP CRL Validation Test in PRe Prod Env",
"consent_managedby_bank": false,
"software_id": "SC-d06367ac-707b-40ba-b6a7-e8f9046bbfd1",
"software_client_uri": "https://www.tppPPCRL.com",
"org_id": "OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be",
"software_version": "1.0",
"software_environment": "Production",
"software_roles": [
"PISP"
],
"exp": 1753443274,
"org_name": "CRL Validation PP",
"iat": 1750851274,
"org_jwks_revoked_endpoint": "https://keystore.stage.redebanopenfinance.com/keystore/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be/revoked/OB-7e2af01d-3626-4d7b-8e3d-c6cd2054c7be.jwks",
"jti": "8fdd5386-10b6-453e-8c56-3cd4cea119c1"
}