如何在 Blazor WebAssembly 中实现 OIDC 身份验证?

How do I implement OIDC authentication in Blazor WebAssembly?

我正在开展一个 PoC 项目,以验证 blazor 是我们公司内部 Web 前端应用程序的正确技术。我们有一个内部身份提供者(IdentityServer4 impl。),我想通过它进行身份验证。在使用 angular 的旧项目中,我们使用带有隐式流的 javascript oidc 客户端。据我了解 OIDC,隐式流对于 blazor WebAssembly 单页应用程序应该是完美的。我们没有用于该特定前端的专用服务器应用程序,只有一些微服务,前端在其中获取数据,因此需要提供访问令牌。

OIDC 客户端库或一些示例代码(最好是两者)会很有帮助。

谢谢!

我建议您尝试一下 Blazor.Auth0(此处为作者)。

Blazor.Auth0 is a library for using the Authorization Code Grant with Proof Key for Code Exchange (PKCE) with Auth0's Universal Login in Blazor SPAs.

如果您对 adding/using 第三方服务不感兴趣,那么至少源代码可以帮助您走上正确的道路。

希望对您有所帮助:)

我当时需要一个可扩展的 Blazor WebAssembly 库来支持 OpenID Connect (OIDC) 以及用于代码交换 (PKCE) 的证明密钥。因此,我创建了开源 ITfoxtec.Identity.BlazorWebAssembly.OpenidConnect 库,它 JavaScript 免费且纯 .NET。