如何在 Blazor WASM 中为多个身份提供者实现外部身份验证?

How do you implement external authentication for multiple identity providers in Blazor WASM?

我正在尝试使用多个外部身份提供商(Google、Microsoft、Facebook、Twitter)为 Blazor WASM 应用程序实施外部身份验证。理想情况下,登录页面会为每个 IP 显示一个按钮。

看起来使用提供的身份验证工具应该非常简单,并且一些站点(Okta、Auth0)提供了关于如何为一个 IP 实施外部身份验证的出色说明。但是,我一直没能找到任何关于如何为两个或多个IP实现外部认证的信息。

我尝试了在 Program.cs 中两次调用 AddOidcAuthentication 的简单方法,每个提供者一次,并在 appsettings.json 中包含两个提供者的信息,但登录页面只显示其中之一他们(当然)。

Microsoft 的文档似乎没有涵盖这种情况。

您可以利用外部身份验证提供程序实施您自己的身份服务器。例如。 Orchard Core 与 Google、Twitter、Facebook 和 Azure 开箱即用。