用途:在 Windows Forms(WinForms)桌面应用中添加 Auth0 身份认证,集成 Auth0.OidcClient.WinForms NuGet 包。该包借助 WebView2 控件在弹出窗体中展示 Auth0 Universal Login 页面,实现基于 OIDC 授权码流程与 PKCE 的安全登录、登出,并支持令牌刷新与用户资料读取。
主要能力:完成 WebAuth 登录流程;登出并清除会话;使用 RefreshTokenAsync 刷新令牌(需 offline_access 作用域);读取用户资料声明(如 name、email、picture)。回调完全由 WebView2 的 NavigationStarting 事件处理,无需注册自定义 URL scheme、Info.plist 或 AndroidManifest.xml。
使用方式:需 .NET 6.0 SDK 或更高版本、Windows 10 及以上、WebView2 Runtime、已配置为 Native 类型的 Auth0 应用。安装命令:dotnet add package Auth0.OidcClient.WinForms。用 Auth0ClientOptions 配置 Domain(仅主机名)与 ClientId,Scope 建议包含 openid profile email offline_access。默认回调 URL 为 https://{yourDomain}/mobile,需在 Auth0 Dashboard 的 Allowed Callback URLs 与 Allowed Logout URLs 中登记。参考文档建议用 gh api 获取最新 winforms- 版本号替换硬编码依赖版本。
适用场景:仅限 WinForms 桌面应用。WPF 用 auth0-wpf,.NET MAUI 用 auth0-maui,ASP.NET Core 服务端用 auth0-aspnetcore-authentication,Web API JWT 校验用 auth0-aspnetcore-api。
限制:原生应用不使用 Client Secret;Domain 不能带 https:// 前缀;令牌刷新需显式请求 offline_access;建议在真实物理 Windows 设备上测试登录、登出、刷新、取消与重复登录流程。具体 API 细节与故障排查见其文档,此处未尽列。