Saltar al contenido principal

Gestionar actualizaciones de alcances en los tokens de organización

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.

Como se mencionó anteriormente, la plantilla de organización sirve como una capa clave de control de acceso para proteger permisos de organización o APIs a nivel de organización. Asegúrate de revisar las secciones de autorización y elegir el modelo de autorización que mejor se adapte a tu producto.

Este capítulo se centra en la gestión de permisos y las mejores prácticas para gestionar cambios de alcances y permisos en los tokens de organización de Logto.

Gestionar actualizaciones de alcances en los tokens de organización

Gestionar actualizaciones de alcances en los tokens de organización implica:

Revocar alcances existentes

Por ejemplo, degradar a un administrador a un miembro no administrador debe 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.

Otorgar nuevos alcances

Esto se puede dividir en dos escenarios:

Otorgar nuevos alcances que ya están definidos en tu sistema de autenticación

Similar a la revocación de alcances, si el nuevo alcance otorgado ya está registrado en el servidor de autenticación, emite un nuevo token de organización y los nuevos alcances se reflejarán inmediatamente.

Otorgar 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.

Comprobar permisos en tiempo real y actualizar el token de organización

Logto proporciona una Management API para obtener los permisos de usuario en tiempo real en la organización.

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 serán emitidos 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 incluyen nuevos alcances asignados que el token de organización no tiene
    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.