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

如何在Blazor WASM中为多个身份提供程序实现外部身份验证?,blazor,openid-connect,webassembly,Blazor,Openid Connect,Webassembly,我正在尝试使用多个外部身份提供者(Google、Microsoft、Facebook、Twitter)为Blazor WASM应用程序实现外部身份验证。理想情况下,登录页面会为每个IP显示一个按钮 使用提供的身份验证工具看起来应该非常简单,几个站点(Okta、Auth0)提供了关于如何为一个IP实现外部身份验证的优秀说明。但是,我还没有找到关于如何为两个或多个IP实现外部身份验证的任何信息 我尝试了一种简单的方法,在Program.cs中调用AddOidcAuthentication两次,每个提

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

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

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


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

您可以利用外部身份验证提供程序实现自己的identityserver。例如,Orchard Core与Google、Twitter、Facebook和Azure一起开箱即用。

我相信它只需要您在program.cs中添加的最后一个“AddOidcAuthentication”选项。您是否尝试过在AddOidcAuthentication中使用多个选项?例如,它看起来类似于Microsoft的示例项目()