Skip to main content
Con Rich Authorization Requests (RAR), los clientes pueden solicitar y obtener datos de de , como los usuarios finales, durante el Flujo de código de autorización con Pushed Authorization Requests (PAR) y el Flujo de autenticación de canal secundario iniciado por el cliente. Rich Authorization Requests usa el parámetro authorization_details. Este parámetro acepta un arreglo JSON de objetos que puede incluir información detallada sobre la autorización solicitada, como los recursos o las acciones específicas a las que el cliente quiere acceder en nombre del usuario. Puede renderizar los authorization_details solicitados para el usuario de una de estas formas: Para configurar Rich Authorization Requests para un , debe:
  1. Registrar tipos de authorization_details para el servidor de recursos.
  2. Configurar las políticas de acceso a la API para permitir que su aplicación solicite esos tipos.
  3. Establecer la pantalla de consentimiento personalizada para renderizar authorization_details.
  4. Opcional: Configurar la política de consentimiento para el servidor de recursos.

Registrar tipos de authorization_details

Cada objeto del arreglo JSON debe tener un campo type, que describe la estructura del objeto. Un arreglo authorization_details puede contener varias entradas del mismo type.

Aplicación Auth0 Guardian

Si usa la aplicación Auth0 Guardian, el valor del parámetro authorization_details debe tener un solo objeto en el array, y ese objeto debe ajustarse al siguiente esquema de Auth0: A continuación, se muestra un ejemplo del tipo authorization_details con el esquema de Auth0:

Otros canales de notificación

El tipo authorization_details no necesita usar el esquema de Auth0 si no estás usando la aplicación Auth0 Guardian. Si muestras authorization_details mediante una pantalla de consentimiento personalizada o tu propia aplicación móvil personalizada con el SDK de Auth0 Guardian, se aplican los siguientes requisitos:
  • Máximo de 5 KB
  • Debe ser un JSON válido
  • Debe ser un array de objetos
  • Máximo de 5 entradas en el array
  • Cada objeto debe tener una propiedad type (prerregistrada en la API)
  • Máximo de 10 propiedades por objeto
  • La longitud máxima de los nombres de las propiedades es de 255 caracteres
  • La longitud máxima del valor de una propiedad es de 255 caracteres
  • Máximo de 5 niveles de objetos anidados
  • Los nombres de las propiedades solo pueden contener los siguientes caracteres: a-zA-Z0-9_.-
A continuación se muestra un ejemplo de authorization_details de tipo money_transfer que no usa el esquema de Auth0. Contiene los siguientes campos de objeto:
  • instructedAmount: El importe en USD que se transferirá.
  • sourceAccount: La cuenta bancaria de origen desde la que se transferirá el dinero.
  • destinationAccount: La cuenta bancaria de destino a la que se transferirá el dinero.
  • beneficiary: El destinatario de la transferencia de dinero.
  • subject: El asunto de la transferencia de dinero.
Debe registrar tipos de authorization_details para un servidor de recursos, lo cual es similar a registrar alcances permitidos. Puede registrar tipos de authorization_details con el Auth0 Dashboard o la Management API.
Para agregar authorization_details en el Auth0 Dashboard:
  1. Vaya a Auth0 Dashboard > Applications > APIs.
  2. Seleccione la pestaña Permissions.
  3. En Add an Authorization Details type, puede agregar varios tipos de authorization_details para su servidor de recursos. Introduzca un tipo de authorization_details.
  4. Seleccione la opción +Add.
Puede ver los tipos de authorization_details de su servidor de recursos en List of Authorization Details Types:

Configure las políticas de acceso a la API

Políticas de acceso a la API para aplicaciones controlan qué aplicaciones pueden acceder a sus APIs y qué alcances o tipos de authorization_details tienen permitidos. Puede consultar la política actual de su API mediante la Management API. Haga una solicitud GET al endpoint Obtener un servidor de recursos y revise la propiedad subject_type_authorization en la respuesta:
La propiedad subject_type_authorization admite valores para client.policy y user.policy:
  • Si el valor de la política es allow_all, las aplicaciones o los usuarios pueden solicitar todos los tipos de authorization_details registrados para la API.
  • Si el valor de la política es require_client_grant, cada tipo de authorization_details debe estar permitido explícitamente por el client grant de esa aplicación.
  • Si el valor de la política es deny_all, ninguna aplicación ni ningún usuario pueden solicitar ninguno de los tipos de authorization_details registrados para la API.
Para obtener más información sobre cómo administrar los client grants de las aplicaciones, consulte Acceso de aplicaciones a las API: Client Grants . Puede renderizar los authorization_details de una solicitud de autorización enriquecida en la pantalla de consent. Para ello, configure la pantalla customized-consent con los partials de plantilla adecuados. Puede configurar la pantalla de consentimiento personalizada con Auth0 CLI o Management API.

Auth0 CLI

Para configurar los partials personalizados de consent, ejecute el comando auth0 ul customize con los indicadores adecuados en su terminal:
Para obtener más información, consulte la documentación para personalizar Universal Login de Auth0.

Management API

Para configurar los partials personalizados de consent, realiza una solicitud PUT al endpoint /prompts/customized-consent/partials:
La plantilla de consent personalizada renderiza authorization_details en la siguiente pantalla de consent que Auth0 muestra al usuario final:
En el flujo de notificaciones por correo electrónico con CIBA y RAR, debe personalizar la pantalla de consent para mostrar al usuario las pantallas de aprobación o rechazo:
El usuario acepta la solicitud de autenticación
El usuario acepta la solicitud de autenticación
Para obtener más información sobre cómo personalizar la pantalla de consent, consulte: La política de consentimiento del servidor de recursos determina si Auth0 almacena los valores de authorization_details y los pone a disposición de las aplicaciones móviles cuando se envía una notificación push. Consulte el comportamiento de la política de consentimiento estándar de Auth0 para una solicitud que contiene authorization_details: Los clientes también pueden establecer consent_policy en transactional-authorization-with-mfa, que tiene el siguiente comportamiento: Puede configurar la política de consentimiento para un servidor de recursos con el Auth0 Dashboard o la Management API.
Configure la política de consentimiento en la configuración de su API mediante el Auth0 Dashboard.
  1. Vaya a Auth0 Dashboard > Applications > APIs.
  2. Seleccione la pestaña Settings.
  3. En Access Settings, elija la política de consentimiento Standard.
  4. Guarde los cambios.
Dashboard > Applications > APIs > Settings > Access Settings