如何解决在Blazor WASM中使用Spotify身份验证
我想从Blazor WASM页面登录一个可选用户,使用Spotify(仅)作为asp.net核心中的身份提供者。
我使用that example来配置服务器。我还搜索了Microsoft Docs,但没有找到启动身份验证请求的示例。目前,我还没有重定向到Spotify OAuth登录页面。
我不知道如何开始登录流程。是否有“默认”路由来启动ASP.NET Core登录流程?还是有任何好的入门教程?
应用程序应该有一个登录按钮,我需要在服务器端和客户端都具有令牌。我宁愿在服务器端进行身份验证,因为我不想在客户端拥有客户端机密。
是否有解决此问题的最佳实践?
解决方法
在服务器控制器上,您可以调用ChallengeAsync方法来启动配置的身份验证架构。
如果要从SPA应用程序(例如Blazor WASM)请求令牌,则将授权代码与PKCE一起使用。 PKCE不需要客户端密码,因此可以安全地从客户端应用程序请求。
否则,我将使用授权代码流,并在服务器应用程序上交换令牌的代码。基本上,您链接的样本通过使用AspNet.Security.OAuth.Spotify
nuget packege来做到这一点。
(Spotify使用oauth2。我建议选择适合您用例的身份验证流程。例如,客户端机密不应位于任何SPA应用程序中。)
Spotify docs上有一个很好的摘要表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。