首页 文章

我可以针对多个OpenID Connect服务器验证我的Web Api吗?

提问于
浏览
0

我使用IdentityServer4(OpenID Connect / OAuth2服务器)来保护MyApi . 客户端是桌面客户端(exe) . 这不是浏览器 . 我使用以下工作流程来请求MyApi(https://identityserver4.readthedocs.io/en/release/quickstarts/1_client_credentials.html) .

  • 客户端将其凭据发送到IdentyServer4,后者返回一个令牌

  • 客户端使用令牌作为BearerToken

  • 客户端使用BearerToken请求MyApi

  • MyApi知道IdentityServer4的地址并验证令牌 . 之后它会发回一些数据 .

MyApi是否可以与多个不同的IdentityServer4(OpenID Connect / OAuth2服务器)实例配合使用?

我的意思是如果我打开浏览器并登录到Stackoverflow,我可以选择不同的登录提供商 . 我的意思是浏览器处理重定向 . 如果我有exe /桌面应用程序,是否有类似的工作流程?

1 回答

  • 0

    你提到的StackOverflow和不同的登录选项 - 这些是外部提供商 . 您可以将它们添加到IdentityServer,但是您将只有一个具有不同提供程序的实例 .

    仅仅是出于好奇 - 你为什么要拥有2个IdentityServer实例?这真的是你想要的,还是你想要不同的身份验证提供商?如果是这样 - 那么你需要遵循this,但你需要不同的流程(不是client_credentials) .

    对于 exe 场景 - 您可以使用OidcClient,但如果使用任何类型的外部身份验证(如Google,Facebook等其他OpenID提供商),它仍然需要用户登录

相关问题