- Los ID Tokens suelen usarse para transmitir información de autorización del usuario a las aplicaciones mediante claims personalizados, que pueden agregarse con la extensibilidad de Rules. Los claims agregados pueden permitirte presentar una interfaz de usuario en la que los usuarios no puedan intentar hacer algo para lo que no tienen permiso. La información de autorización en un también proporciona a cualquier backend de la aplicación una forma de impedir que los usuarios eludan los controles del frontend en aplicaciones web tradicionales.
Práctica recomendadaPuedes aprovechar el control de acceso basado en roles de Auth0 (RBAC) mediante la funcionalidad Auth0 Authorization Core para definir permisos de acceso, que pueden aplicarse automáticamente a los Tokens de acceso. Para obtener más información, consulta Habilitar el control de acceso basado en roles para API.La funcionalidad RBAC de Auth0 también puede proporcionar información que puedes agregar como claims personalizados a los tokens de identidad (y a los tokens de acceso, si prefieres aplicarlos manualmente). Auth0 Organizations puede aprovechar la capacidad RBAC de Auth0 mediante uno o más roles asignados por membresía. Para obtener más información, consulta Agregar roles a los miembros de una organización.
- Las API que proporcionan acceso público a servicios de recursos compartidos suelen estar protegidas mediante mecanismos de control de acceso. Para este fin, Auth0 ofrece la capacidad de crear un token bearer de autorización, o un 2 token de acceso, que puede transmitir información de autorización del usuario a una API, normalmente mediante el uso de control de acceso basado en roles (RBAC) de Auth0 para aplicar uno o más roles asignados por membresía o agregando claims personalizados mediante la extensibilidad de Rules. También puedes aprovechar la capacidad RBAC de Auth0 para ajustar automáticamente el claim
scopede un . Luego, las API pueden usar esta información para aplicar el nivel adecuado de control de acceso, lo que permite que tu API aplique reglas de política sin tener que hacer una consulta adicional para obtener información sobre el usuario. - En ciertos casos, quizá quieras implementar políticas a nivel de aplicación en el Tenant de Auth0; esto te permite aplicar políticas a toda una gama de aplicaciones y servicios de recursos (API) sin necesidad de modificar cada uno de ellos por separado. Normalmente, esto se implementa mediante la extensibilidad de Rules.
Práctica recomendadaAuth0 Organizations proporciona a Auth0 Rules acceso a información centrada en la organización, a la que se puede acceder al autenticar a un usuario. Esta información está disponible a través del objeto
organization incluido en el objeto context de Rules. El objeto organization también proporciona acceso a cualquier metadato aprovisionado en una definición de organización en Auth0. Para obtener más información, consulta Desarrollo personalizado para organizaciones.Claims del token de ID
org_id a cualquier token de identidad emitido para usuarios que pertenecen a una organización (para ver un ejemplo, consulta Work with Tokens and Organizations). Los SDK de Auth0 validan este parámetro. También puedes agregar información adicional asociada a una Organización de Auth0 mediante un claim personalizado en el token de identidad:
org_name se incluye automáticamente en los tokens de ID. Para obtener más información, consulte Usar nombres de organización en la Authentication API.
Aserción SAML
mappings de una conexión empresarial SAML:
user dentro de una Rule, que luego se asignará a claims estándar en un token de identidad o podrá asignarse mediante claims personalizadas. Para obtener más información sobre cómo personalizar las asignaciones de SAML, consulta Conecta tu aplicación con proveedores de identidad SAML: Configura las asignaciones.
Claims del token de acceso
org_id se agrega automáticamente a cualquier token de acceso (para ver un ejemplo, consulte Trabajar con tokens y organizaciones) emitido para usuarios que pertenecen a una organización. También puede agregar información adicional asociada a una Organización de Auth0 añadiendo un claim personalizado al token de acceso:
org_name se incluye automáticamente en los tokens de acceso. Para obtener más información, consulte Usar nombres de organizaciones en Authentication API.
Como alternativa, podría crear una de API única para cada organización, lo que daría como resultado una definición de API única en Auth0. Aunque este mecanismo puede mitigar la necesidad de usar extensibilidad personalizada con Rule, la complejidad que introduce puede ser difícil de gestionar. A continuación, se muestra una comparación sencilla:
| Enfoque | Ventajas | Desventajas |
|---|---|---|
| Audiencia de API única |
|
|
| Claim personalizado | Simplifica la configuración del Tenant de Auth0. | Se necesita código personalizado en una Rule para agregar la organización al token de acceso. |
Roles
Puede habilitar Auth0 Authorization Core RBAC para una API, lo que hará que el claim
scope predeterminado en los tokens de acceso se modifique automáticamente y que se agregue de forma predeterminada el claim permission (para ver un ejemplo, consulte Trabajar con tokens y organizaciones). También puede agregar información de roles a los tokens de identidad como claims personalizadas accediendo al objeto authorization disponible en el objeto context de Rules. Para obtener más información, consulte Casos prácticos de Rules con Authorization: agregar roles de usuario a los tokens.Control de acceso
- bloquear el acceso a usuarios desde una dirección IP determinada
- implementar requisitos específicos en torno a la MFA contextual o
- restringir el inicio de sesión únicamente a usuarios que hayan verificado su correo electrónico
- restringir el acceso a una determinada audiencia de API, de modo que un usuario no pueda obtener un token de acceso para ninguna otra audiencia de API o no pueda obtener un token de acceso para esa audiencia en determinadas circunstancias. En este caso, si está creando una audiencia de API personalizada para cada organización, su Rule también debe garantizar que el usuario que se autentica pertenezca a la organización que coincida con la audiencia de API correspondiente.