IdentityServer为每个客户端选择UserService

问题描述 投票:0回答:1

我有带有 ResourceOwner 流的 IdentityServer v3,我需要将其配置为能够从一个端点授权来自 AspNetIdentityUserStore(第一个 UserService)的用户和来自 ActiveDirectory(第 2 个 UserService)的用户。

第一个简单的决定是制作自定义 UserService,它将组成第一个和第二个用户服务并封装逻辑,但我想知道是否可以根据当前客户端选择注册的 UserService 的行为?

或者有什么不同的方法可以更好地解决问题?

c# identityserver3 openid-connect
1个回答
1
投票

根据 Client 拆分 UserService 似乎是一个好主意,但是引入这种 Client 偏差会导致许多问题。这会给您的用户群带来很大的混乱,因为有效的凭据可能无法在另一个客户端的同一登录页面上工作。这也使得身份提供者在未来更难处理,因为每当添加另一个客户端时,就必须修改用户身份验证。

出于身份验证的目的,无论是现在还是将来,您都将拥有更好的时间,让身份提供商的 UserService 在客户端不知情的情况下进行操作。客户端有责任确定身份服务器提供的用户主体是否具有足够的授权。

© www.soinside.com 2019 - 2024. All rights reserved.