SuperAPI AI 工具集

auth0-maui

通用与其它

查看项目

更新于 10-16 08:05

技能介绍

用途:为 .NET MAUI 跨平台应用(iOS、Android、macOS、Windows)添加 Auth0 登录、登出和令牌管理,集成 Auth0.OidcClient.MAUI NuGet 包,通过 MAUI WebAuthenticator 调用系统浏览器完成带 PKCE 的 OIDC 流程。

主要能力:初始化 Auth0Client 并配置 Domain、ClientId、RedirectUri、PostLogoutRedirectUri、Scope;调用 LoginAsync 登录、LogoutAsync 登出、RefreshTokenAsync 刷新令牌、GetUserInfoAsync 获取用户信息;支持携带 organization、audience、connection 等额外参数登录;读取用户 claims(如 name、email)。

必要用法:先确认最新 MAUI 版本,可执行 gh api repos/auth0/auth0-oidc-client-net/releases --jq '[.[] | select(.tag_name | startswith("maui-")) | .tag_name | ltrimstr("maui-")] | .[0]',再用该版本;安装命令 dotnet add package Auth0.OidcClient.MAUI。Scope 必须包含 offline_access 才能获得刷新令牌。登录后用 SecureStorage.Default.SetAsync("refresh_token", ...) 持久化刷新令牌,启动时用 GetAsync 配合 RefreshTokenAsync 静默恢复会话,登出时用 SecureStorage.Default.Remove("refresh_token") 清除。回调自定义 URL 方案默认形如 myapp://callback,需同时配置在 Auth0 Dashboard 的 Allowed Callback URLs 和 Allowed Logout URLs,以及平台回调处理中。Android 需创建 WebAuthenticatorActivity 并添加匹配方案的 IntentFilter;Windows 需两步:在 Platforms/Windows/Package.appxmanifest 注册 uap:Protocol,并在 Platforms/Windows/App.xaml.cs 构造函数首行(InitializeComponent() 之前)调用 Activator.Default.CheckRedirectionActivation();iOS/macOS 无需额外配置。完成后运行 dotnet build 验证。

适用场景:需要在 MAUI 应用中接入 Auth0 统一登录、会话保持与令牌刷新的移动和桌面客户端。

限制:不适用于 ASP.NET Core 服务端网页、ASP.NET Core Web API、React Native、Expo、纯 iOS Swift 或纯 Android Kotlin 应用;前置条件包括 .NET 8.0 SDK+、Visual Studio 2022(17.8+)或 Rider、各平台对应工具链、Auth0 Native 应用账户,Node.js 20+ 仅用于 CLI 自动配置。建议在真机测试完整登录→回调→令牌流程。生产环境宜使用反向域名方案降低劫持风险。其余 SDK 版本和配置细节暂未提供。