Blazor集成Google登录分WebAssembly和Server两类:WASM独立模式前端直连OAuth,需引入认证包、配置ClientId及回调地址;Server模式依赖后端中间件,需注册AddGoogle并启用UseAuthentication/UseAuthorization。

Blazor 集成 Google 登录,关键看项目类型:是 WebAssembly(WASM)独立/托管,还是 Server(服务端)。两者实现路径不同,不能混用。下面分两类说清楚,不绕弯、不堆术语。
这是最常见也最轻量的集成方式,前端直接与 Google OAuth 交互,无需自己搭后端认证逻辑。
Microsoft.AspNetCore.Components.WebAssembly.Authentication
wwwroot/index.html 的 blazor.webassembly.js 上方加一行:<script src="_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"></script>
_Imports.razor 加两行:Program.cs 中调用 AddOidcAuthentication,填入 Google 提供的 ClientId 和 Authority(通常是 https://accounts.google.com)https://localhost:7070/authentication/login-callback(开发时)或你的正式域名对应地址登录流程由服务器发起和接收回调,更可控,适合已有用户系统或需要服务端会话管理的场景。
Program.cs(.NET 6+)中注册 Google 认证中间件:builder.Services.AddAuthentication().AddGoogle(options => { options.ClientId = "..."; options.ClientSecret = "..."; });
app.UseAuthentication() 和 app.UseAuthorization() 在管道中正确启用@attribute [Authorize] 控制访问权限/Account/Login,或自定义一个跳转按钮指向 /Identity/Account/Login(若用了 Identity UI)不管哪种方式,都绕不开 Google Cloud 控制台设置:
/authentication/login-callback,Server 用 /signin-google 或你配置的 endpointUserSecrets 或 Azure Key Vault 管理基本上就这些。WASM 方式开箱即用,Server 方式更稳但要多写几行服务端代码。选哪个,取决于你是否需要服务端参与鉴权、审计或整合已有 Identity 系统。
以上就是Blazor 怎么集成 Google 登录的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号