Saltar al contenido principal
Auth0 proporciona dos formas de implementar el control de acceso basado en roles (RBAC), que puede usar en lugar del sistema interno de control de acceso de su API o en combinación con él:El conjunto de funcionalidades de Authorization Core coincide con el de Authorization Extension, mejora el rendimiento y la escalabilidad, y ofrece un sistema RBAC más flexible que Authorization Extension.Actualmente, ambas implementan las funcionalidades clave de RBAC y le permiten restringir los alcances personalizados definidos para una API a aquellos que se hayan asignado al usuario como permisos.
Antes de que la extensión pueda aplicar su lógica de autorización, debe configurar cómo se comportará durante la transacción de inicio de sesión. Esta configuración se recogerá en una Rule que se ejecuta en tiempo de ejecución.

Requisitos previos

Instale la extensión Authorization Extension

Configurar la extensión

  1. Ve a Auth0 Dashboard > Extensions y selecciona Auth0 Authorization.
  2. En la parte superior derecha del Authorization Dashboard, selecciona Configuration.
    Dashboard - Authorization Extension Dashboard - Configuration
  3. Esto te llevará a la sección Rule Configuration de la página Configuration. Todos los cambios que realices en las secciones de Token Contents, como los relacionados con grupos, roles y permisos, se reflejarán en la Rule que exportes al completar este paso.
    Configuración de Authorization Extension

ApiKey

La Rule usa la ApiKey para comunicarse con la API de Authorization Extension y obtener la política. La ApiKey se almacena como configuración de la Rule y se creará automáticamente cuando se publique la Rule. Para rotar la ApiKey, haga clic en el botón Rotate; cuando se rote, la configuración de la Rule se actualizará automáticamente.

Agregue información de autorización al token emitido

Puede almacenar datos de autorización, como grupos, roles o permisos, en el token que emite Auth0. Su aplicación puede usar esta información inspeccionando el token y tomar las medidas adecuadas según el contexto de autorización actual del usuario. Para agregar información de grupos, roles y/o permisos al token emitido, habilite el interruptor junto a la opción que quiera incluir.
Almacenar demasiados datos en el token puede causar problemas de rendimiento o incluso impedir su emisión. Asegúrese de almacenar solo lo que necesite. Si necesita tener disponible de inmediato una gran cantidad de datos de usuario, considere usar almacenamiento persistente en lugar de agregar los datos al token.

Combinar datos de autorización del IdP

Puede que tenga usuarios que reciban grupos, roles o permisos del (IdP) que usa, como Active Directory. Si desea combinar estos elementos (para conservarlos) con los definidos en la Authorization Extension, asegúrese de habilitar las opciones de Passthrough correspondientes. Active el control deslizante de cada combinación correspondiente que quiera habilitar.

Almacenar información de autorización en los perfiles de usuario

Si su contexto de autorización es amplio (por ejemplo, el usuario puede pertenecer a muchos grupos o tener muchos permisos concedidos), puede resultar útil almacenar parte del contenido de autorización en los perfiles de los usuarios. Esto le permite almacenar menos información en el token, por lo que es menos probable que se produzcan problemas de rendimiento o incluso problemas con la emisión de tokens. La persistencia es el proceso mediante el cual se almacena información sobre grupos, roles y permisos en los perfiles de los usuarios. Los datos se almacenarán en el campo app_metadata del usuario, y luego puede usar la o el Dashboard para recuperar esta información después de que el usuario haya iniciado sesión.
Authorization Extension - Configuración - Persistencia

Guardar cambios en la Rule

Una vez que hayas configurado tu Rule, haz clic en Publish Rule. Esto crea una Rule para tu inquilino que se ejecuta después de cada inicio de sesión del usuario.

Ver la Rule

Si quieres ver la Rule que has creado, puedes hacerlo en Auth0 Dashboard > Auth Pipeline > Rules. Puedes abrir la Rule para ver su configuración exacta.

Más información