Antes de comenzar
- Cree un inquilino de Auth0 para registrar y configurar sus aplicaciones nativas y web.
- Instale y configure Auth0 CLI para su inquilino de Auth0.
- Agregue la autenticación de Auth0 a su aplicación nativa mediante las guías de inicio rápido correspondientes para su plataforma:
- Agregue compatibilidad con refresh_token a su aplicación nativa.
- Agregue la autenticación de Auth0 a su aplicación web mediante la guía de inicio rápido para aplicaciones de una sola página con React.
session_transfer_token seguro y de corta duración.
Las secciones siguientes describen cómo agregar:
- A su aplicación nativa, un botón Suscribirse ahora que permite a los usuarios autenticados contratar un plan de suscripción de pago mediante un proceso de compra web seguro.
- A su aplicación web, una página de suscripción que permite a los usuarios seleccionar suscripciones de membresía sin tener que volver a iniciar sesión.
Este caso de uso se centra en aplicaciones web basadas en React que usan el SDK de React de Auth0.Si usa un framework diferente, como Node o Express, la lógica para administrar
session_transfer_token, ya sea mediante un parámetro de URL o una cookie, puede adaptarse según corresponda.Configura la Auth0 CLI
Usa la Auth0 CLI para configurar tu inquilino de Auth0. También puedes usar la Auth0 Management API; para obtener más información, consulta Configurar SSO de aplicaciones nativas a web.
- Inicializa la Auth0 CLI
- Seleccione Como usuario y siga el flujo de inicio de sesión.
- Selecciona el inquilino de Auth0 en el que quieras habilitar el SSO de aplicaciones nativas a web.
Configura Auth0
Habilite el SSO de aplicaciones nativas a web en su aplicación nativa
session_transfer_token para establecer el SSO desde una aplicación nativa a una aplicación web. El session_transfer_token permite a Auth0 identificar de forma segura al usuario, la aplicación nativa de origen y contexto adicional. Para obtener más información, consulte SSO de aplicaciones nativas a web.
Habilite el SSO de aplicaciones nativas a web con Auth0 CLI:
Habilita el SSO de aplicaciones nativas a web en tu aplicación web
session_transfer_token para la autenticación mediante una cookie o un parámetro de URL con Auth0 CLI:
Si el session_transfer_token se inyecta en el navegador mediante una cookie, no se requieren cambios adicionales en su aplicación web. El único requisito es que el navegador vaya al URI de inicio de sesión de su aplicación para procesar la redirección del usuario al endpoint /authorize de su inquilino de Auth0.
Puede configurar el URI de inicio de sesión de la aplicación en la configuración de su aplicación en Auth0 Dashboard. Esta es la ruta a la que Auth0 redirigirá a los usuarios cuando el inicio de sesión se active desde fuentes externas.
Crear una página de suscripción en la aplicación web
/src/views/ para crear la página de suscripción:
Paso 1: Agrega un nuevo archivo de vista
src/views/JoinMembership.js. Este archivo solicitará a los usuarios que completen una suscripción de pago.
Paso 2: Añada una nueva ruta
src/App.js y añada una ruta /join-membership a la nueva página de suscripción:
/join-membership:
- Determina si el usuario está autenticado. Si no lo está, redirige al usuario a la página de .
- Si se agrega un
session_transfer_tokencomo parámetro de URL, el token se pasa en la solicitud de autenticación. - Una vez autenticado, al usuario se le mostrarán botones para suscribirse a distintos planes de membresía.
Configura la aplicación nativa
refresh_token por un session_transfer_token justo antes de iniciar la aplicación web. Para ello, agrega el intercambio de transferencia de sesión y la lógica de inicio de la aplicación web dentro del mismo controlador de eventos; por ejemplo, el método onClick del botón.
iOS
Subscribe to Membership al archivo ProfileView.swift.
Edita el cuerpo del archivo ProfileView.swift para incluir un botón debajo de la información del usuario:
ProfileView.swift agrega un botón Subscribe to Membership y usa una clausura onSubscribe para definir el comportamiento al seleccionarlo.
Paso 2: Implementa el flujo de suscripción con SSO de aplicaciones nativas a web
MainView.swift para definir el comportamiento del botón Subscribe to Membership:
Este ejemplo usa la audiencia
https://sample.api.com con fines de demostración. Puede crear una API con este identificador en su inquilino de Auth0 o reemplazarlo por el identificador de su propia API.Para obtener más información, consulte Configurar API.Subscribe to Membership en la aplicación nativa y comience de inmediato el proceso de suscripción en la aplicación web sin volver a iniciar sesión.
Android
Subscribe to Membership.
Edita el archivo MainActivity.kt y agrega el siguiente código al método onCreate():
activity_main.xml para incluir el código que aparece a continuación después del botón @+id/button_patch_metadata:
Paso 2: Implemente el flujo de suscripción mediante SSO de aplicaciones nativas a web
MainActivity.kt para definir el comportamiento del botón Subscribe to Membership:
- Amplíe el flujo de inicio de sesión y gestione la acción de suscripción:
- Actualiza el método
onCreate()para incluircredentialsManager:
- Actualiza el método
loginwithBrowser()para almacenar las credenciales mediantecredentialsManager:
Este ejemplo usa la audiencia
https://sample.api.com únicamente con fines de demostración. Puede crear una API con este identificador en su inquilino de Auth0 o sustituirlo por el identificador de su propia API.Para obtener más información, lea Configurar APIs.- Agregue el método
launchSubscriptionFlow()para abrir la aplicación web:
Subscribe to Membership en la aplicación nativa y comience de inmediato el proceso de suscripción en la aplicación web sin tener que volver a iniciar sesión.
Pruebe su implementación de SSO de aplicaciones nativas a web
- El
refresh_tokenalmacenado se utiliza para solicitar unsession_transfer_tokenseguro - El
session_transfer_tokense inserta en una cookie para su dominio de Auth0 - Se utiliza un
WKWebViewpara cargar la ruta/join-membershipde su aplicación web - La aplicación web recibe el
session_transfer_tokeny completa el inicio de sesión mediante SSO de aplicaciones nativas a web - El usuario ve inmediatamente las opciones de suscripción en la aplicación web
Próximos pasos
- Explora más opciones de configuración para el SSO de aplicaciones nativas a web:Profundiza en el tiempo de vida de la sesión, la rotación de , la vinculación de dispositivos y la revocación en cascada en la documentación de SSO de aplicaciones nativas a web.
- Personaliza la experiencia posterior al inicio de sesión con el perfilado progresivo:Usa el formulario de perfilado progresivo de Auth0 para recopilar datos de usuario adicionales después del inicio de sesión —como preferencias del plan, dirección o intención de pago— antes de mostrar las opciones de suscripción.