Gestión de permisos y recursos
Utiliza la organización como un recurso y aplica una plantilla de organización para protegerlo. Por ejemplo, cada organización tiene sus propios documentos dentro de un inquilino. Solo los usuarios con los roles adecuados pueden editar o eliminar esos documentos.
Consulta Permisos de organización para más detalles.
Usa el control de acceso basado en roles (RBAC) de la organización para gestionar los permisos de los usuarios
Con la configuración anterior, puedes enviar invitaciones por correo electrónico, y los invitados pueden unirse a la organización con el rol asignado.
Los usuarios con diferentes roles de organización tendrán diferentes alcances (permisos) en sus tokens de organización. Tanto tu aplicación cliente como los servicios backend deben comprobar estos alcances para determinar las funciones visibles y las acciones permitidas.
Gestiona las actualizaciones de alcance en los tokens de organización
Esta sección cubre temas avanzados sobre la gestión de la plantilla de organización y escenarios de autorización. Si no estás familiarizado con estos conceptos, lee primero Autorización (Authorization) y Plantilla de organización.
Gestionar las actualizaciones de alcance en los tokens de organización implica:
Revocar alcances existentes
Por ejemplo, degradar a un administrador a un miembro no administrador debería eliminar los alcances del usuario. En tales casos, borra el token de organización en caché y obtén uno nuevo con un token de actualización. Los alcances reducidos se reflejarán inmediatamente en el nuevo token de organización emitido.
Conceder nuevos alcances
Esto se puede dividir en dos escenarios:
Conceder nuevos alcances que ya están definidos en tu sistema de autenticación
Similar a la revocación de alcances, si el nuevo alcance concedido ya está registrado en el servidor de autenticación, emite un nuevo token de organización y los nuevos alcances se reflejarán inmediatamente.
Conceder nuevos alcances que se introducen por primera vez en tu sistema de autenticación
En este caso, activa un proceso de re‑inicio de sesión o re‑consentimiento para actualizar el token de organización del usuario. Por ejemplo, llama al método signIn en el SDK de Logto.
Comprueba los permisos en tiempo real y actualiza el token de organización
Logto proporciona una Management API para obtener los permisos de usuario en tiempo real en la organización.
GET /api/organizations/{id}/users/{userId}/scopes(Referencias de API)
Compara los alcances en el token de organización del usuario con los permisos en tiempo real para determinar si el usuario ha sido promovido o degradado.
-
Si es degradado, borra el token de organización en caché y el SDK emitirá automáticamente uno nuevo con los alcances actualizados.
const { clearAccessToken } = useLogto();
...
// Si los alcances obtenidos en tiempo real son menos que los alcances del token de organización
await clearAccessToken();Esto no requiere un proceso de re‑inicio de sesión ni de re‑consentimiento. Los nuevos tokens de organización se emitirán automáticamente por el SDK de Logto.
-
Si se introduce un nuevo alcance en tu sistema de autenticación, activa un proceso de re‑inicio de sesión o re‑consentimiento para actualizar el token de organización del usuario. Por ejemplo, con el SDK de React:
const { clearAllTokens, signIn } = useLogto();
...
// Si los alcances obtenidos en tiempo real tienen nuevos alcances asignados que los del token de organización
await clearAllTokens();
signIn({
redirectUri: '<your-sign-in-redirect-uri>',
prompt: 'consent',
});El código anterior activa una navegación a la pantalla de consentimiento y redirige automáticamente de vuelta a tu aplicación con los alcances actualizados en el token de organización del usuario.