Usa IA para integrar Auth0
Usa IA para integrar Auth0
- .NET 8.0 SDK o una versión posterior (o .NET Framework 4.6.2 para proyectos heredados)
- Visual Studio 2022 o VS Code con C# Dev Kit
Primeros pasos
Crea tu aplicación
- .NET CLI
- Visual Studio
- WPF
- WinForms
Configurar Auth0
Configurar una aplicación
Ve a Auth0 Dashboard → Applications → Applications y crea una aplicación nueva:- Haz clic en Create Application
- Introduce un nombre para tu aplicación
- Selecciona Native como tipo de aplicación
- Haz clic en Create
Configurar las URL de callback
Una URL de callback es una URL de tu aplicación a la que Auth0 redirige a los usuarios después de autenticarse. Si no se configura, los usuarios no volverán a tu aplicación después de iniciar sesión.En la configuración de tu aplicación, agrega lo siguiente a Allowed Callback URLs:Configurar las URL de cierre de sesión
Una URL de cierre de sesión es una URL de tu aplicación a la que Auth0 redirige a los usuarios después de cerrar sesión. Si no se configura, los usuarios no podrán cerrar sesión en tu aplicación y recibirán un error.En la configuración de tu aplicación, agrega lo siguiente en Allowed Logout URLs:Instala el SDK de Auth0
- Administrador de paquetes NuGet
- CLI de .NET
Crear una instancia de Auth0Client
Auth0Client con su dominio de Auth0 y su ID de cliente. Agregue un campo privado e inicialícelo dentro del constructor existente de la ventana principal o el formulario.- WPF
- WinForms
MainWindow.xaml.cs y actualícelo de la siguiente manera:Agrega el inicio de sesión a tu aplicación
LoginAsync() del SDK para iniciar sesión. Al llamarlo, se abre una ventana emergente con la página de Universal Login de Auth0. Después de autenticarse correctamente, Auth0 redirige a la URL de callback y el SDK devuelve un LoginResult.Primero, agregue un botón de inicio de sesión a la interfaz de usuario:- WPF
- WinForms
MainWindow.xaml y agregue un Button dentro de <Grid>:MainWindow.xaml.cs:LoginResult.User, LoginResult.IdentityToken, LoginResult.AccessToken y LoginResult.RefreshToken en el resultado.Agregue el cierre de sesión a su aplicación
LogoutAsync() del SDK para cerrar la sesión de los usuarios. Esto abre una ventana emergente, redirige al endpoint de cierre de sesión de Auth0 para borrar la sesión y, a continuación, vuelve a redirigir a la URL de cierre de sesión que configuraste.Primero, agrega un botón de cierre de sesión a la interfaz de usuario:- WPF
- WinForms
MainWindow.xaml y agrega un Button de cierre de sesión junto al botón de inicio de sesión:MainWindow.xaml.cs:Mostrar la información del perfil del usuario
LoginResult.User es un ClaimsPrincipal que contiene el perfil del usuario autenticado. Consulta las notificaciones para mostrar la información del usuario en tu aplicación.- Al hacer clic en el botón de inicio de sesión, se abre la página de Universal Login de Auth0 en una ventana emergente.
- Puedes iniciar sesión o registrarte.
- Después de la autenticación, puedes acceder a la información del usuario desde
LoginResult.User. - Al hacer clic en el botón de cierre de sesión, se cierra la sesión y se te redirige a la URL de cierre de sesión.
Uso avanzado
Gestionar errores de inicio de sesión
Gestionar errores de inicio de sesión
LoginResult.IsError antes de acceder a los tokens o a las propiedades del usuario. Las propiedades Error y ErrorDescription contienen detalles cuando la autenticación falla.LoginAsync() devuelve un resultado con BrowserResultType.UserCancel. Este comportamiento es esperado; no lo trates como un error.Tokens de actualización
Tokens de actualización
RefreshTokenAsync() con el token de actualización del LoginResult inicial.offline_access y deben habilitarse en la configuración de tu aplicación de Auth0, en Refresh Token Rotation.Recursos adicionales
Repositorio del SDK
Perfiles de usuario
Foro de la comunidad
Problemas comunes
La ventana emergente de inicio de sesión se abre, pero la autenticación nunca se completa
La ventana emergente de inicio de sesión se abre, pero la autenticación nunca se completa
Error de discrepancia en la URL de callback
Error de discrepancia en la URL de callback
callback URL mismatch.Solución: El URI de redirección que usa el SDK no coincide con ningún valor de Allowed Callback URLs en el Auth0 Dashboard. Agrega https://{yourDomain}/mobile a Allowed Callback URLs en la configuración de tu aplicación. El SDK usa esta URL de forma predeterminada.Error de discrepancia en la URL de cierre de sesión
Error de discrepancia en la URL de cierre de sesión
https://{yourDomain}/mobile a Allowed Logout URLs en la configuración de tu aplicación.LoginResult.IsError es true después de iniciar sesión
LoginResult.IsError es true después de iniciar sesión
LoginResult.IsError es true, pero no hay ninguna indicación clara de la causa.Solución: Revisa LoginResult.Error y LoginResult.ErrorDescription para obtener más información:- El tipo de aplicación en el Auth0 Dashboard no está configurado como Native
- OIDC Conformant no está habilitado en Advanced Settings → OAuth
- JSON Web Token Signature Algorithm no está configurado como RS256
RefreshToken es null después de iniciar sesión
RefreshToken es null después de iniciar sesión
LoginResult.RefreshToken es null.Solución: El scope offline_access es necesario para recibir un Token de actualización. Agrégalo a la opción Scope: