我想从Blazor WASM页面登录一个可选用户,使用Spotify(仅)作为asp.net核心中的身份提供者。
我使用that example来配置服务器。我还搜索了Microsoft Docs,但没有找到启动身份验证请求的示例。目前,我还没有重定向到Spotify OAuth登录页面。
我不知道如何开始登录流程。是否有“默认”路由来启动ASP.NET Core登录流程?还是有任何好的入门教程?
应用程序应该有一个登录按钮,我需要在服务器端和客户端都具有令牌。我宁愿在服务器端进行身份验证,因为我不想在客户端拥有客户端机密。
是否有解决此问题的最佳实践?
答案 0 :(得分:0)
在服务器控制器上,您可以调用ChallengeAsync方法来启动配置的身份验证架构。
如果要从SPA应用程序(例如Blazor WASM)请求令牌,则将授权代码与PKCE一起使用。 PKCE不需要客户端密码,因此可以安全地从客户端应用程序请求。
否则,我将使用授权代码流,并在服务器应用程序上交换令牌的代码。基本上,您链接的样本通过使用AspNet.Security.OAuth.Spotify
nuget packege来做到这一点。
(Spotify使用oauth2。我建议选择适合您用例的身份验证流程。例如,客户端机密不应位于任何SPA应用程序中。)
Spotify docs上有一个很好的摘要表。