在Blazor WASM中使用Spotify身份验证

时间:2020-08-24 14:20:30

标签: asp.net-core blazor asp.net-core-identity

我想从Blazor WASM页面登录一个可选用户,使用Spotify(仅)作为asp.net核心中的身份提供者。

我使用that example来配置服务器。我还搜索了Microsoft Docs,但没有找到启动身份验证请求的示例。目前,我还没有重定向到Spotify OAuth登录页面。

我不知道如何开始登录流程。是否有“默认”路由来启动ASP.NET Core登录流程?还是有任何好的入门教程?

应用程序应该有一个登录按钮,我需要在服务器端和客户端都具有令牌。我宁愿在服务器端进行身份验证,因为我不想在客户端拥有客户端机密。

是否有解决此问题的最佳实践?

1 个答案:

答案 0 :(得分:0)

在服务器控制器上,您可以调用ChallengeAsync方法来启动配置的身份验证架构。

如果要从SPA应用程序(例如Blazor WASM)请求令牌,则将授权代码与PKCE一起使用。 PKCE不需要客户端密码,因此可以安全地从客户端应用程序请求。

否则,我将使用授权代码流,并在服务器应用程序上交换令牌的代码。基本上,您链接的样本通过使用AspNet.Security.OAuth.Spotify nuget packege来做到这一点。 (Spotify使用oauth2。我建议选择适合您用例的身份验证流程。例如,客户端机密不应位于任何SPA应用程序中。) Spotify docs上有一个很好的摘要表。