- 2 API de Node.js:
contactsycalendar(puede considerarlas microservicios) - 1 servidor de recursos que representa las 2 API
- 2 alcances con espacio de nombres:
read:contactsyread:calendar - El flujo de concesión implícita para obtener un
access_tokenque funcione para ambas API
Organizer Service. Después, crearemos dos alcances para demostrar cómo puede usar el Flujo implícito para acceder a las API calendar y contacts desde la SPA.
Debe completar los siguientes pasos:
- Habilitar una conexión para su aplicación
- Crear un usuario de prueba
- Registrar una API lógica en Auth0
- Configurar alcances para la API lógica
- Conceder acceso a la API lógica
- (Opcional) Implementar cierre de sesión único (SLO) o inicio de sesión único (SSO)
Requisitos previos
-
Registra tu aplicación.
- Selecciona Application Type como Single-Page App.
- Agrega Allowed Callback URLs:
http://localhost:3000yhttp://localhost:3000/callback.html.
- Descarga la aplicación de ejemplo. Para obtener información sobre cómo configurar la aplicación de ejemplo, consulta el README.
Habilita una conexión para tu aplicación
Crear un usuario de prueba
Registrar una API lógica en Auth0
Organizer Service y establezca su identificador único en organize. De forma predeterminada, el de los tokens obtenidos para esta API es RS256, que debe dejar tal cual. Para obtener más información, consulte Registrar APIs.
Configure los permisos de la API lógica
read) desde una API llamada calendar y otra llamada contacts, por lo que deberá crear los siguientes permisos:
read:calendarread:contacts
Conceder acceso a la API lógica
- Si tiene una aplicación Machine-to-Machine, puede autorizarla para solicitar Tokens de acceso para su API mediante un flujo de credenciales del cliente.
- Si está creando una aplicación nativa, puede implementar el Flujo de código de autorización con PKCE.
-
El usuario hace clic en Login dentro de la SPA y la aplicación redirige al usuario al Servidor de autorización de Auth0 (endpoint
/authorize). Para obtener más información sobre los parámetros de la llamada, consulte nuestro tutorial: Llame a su API mediante el Flujo de código de autorización con PKCE.
-
El Servidor de autorización de Auth0 redirige al usuario a la página de inicio de sesión, donde se autentica mediante una de las opciones de inicio de sesión configuradas.

-
Si es la primera vez que el usuario pasa por este flujo, verá una pantalla de consentimiento que enumera los permisos que Auth0 otorgará a la SPA. En este caso, se le pide al usuario que dé su consentimiento para que la aplicación lea sus contactos y su calendario.

-
Si el usuario da su consentimiento, Auth0 lo redirige de vuelta a la SPA con tokens en el fragmento hash del URI. La SPA ahora puede extraer los tokens del fragmento hash mediante JavaScript y usar el Token de acceso para llamar a sus API en nombre del usuario.
En nuestro ejemplo, después de iniciar sesión correctamente, verá botones que le permiten llamar a cualquiera de sus API con el Token de acceso obtenido de la API lógica.

Implementar cierre de sesión único (SLO) o inicio de sesión único (SSO)
checkSession() y comprobar si existe una sesión. Si la sesión no existe, puede cerrar la sesión del usuario en la aplicación. El mismo método de sondeo puede usarse para implementar autenticación silenciosa en un escenario de (SSO).
El intervalo entre comprobaciones con checkSession() debe ser de al menos 15 minutos entre llamadas para evitar posibles problemas futuros con el límite de tasa de esta llamada.