IdentityServer为每个客户端选择UserService

时间:2016-11-02 10:15:28

标签: c# identityserver3 openid-connect

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

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

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

1 个答案:

答案 0 :(得分:1)

基于客户端拆分UserService似乎是一个好主意,但引入此客户端偏差会导致许多问题。这会对您的用户群造成很大的混淆,因为有效凭据可能无法在另一个客户端的同一登录页面上运行。它还使得身份提供者将来更难以处理,因为每当添加另一个客户端时,都必须修改用户身份验证。

出于身份验证的目的,您现在和将来都可以在不知道客户端的情况下拥有身份提供商的UserService行为。客户应负担确定身份服务器提供的用户主体是否具有足够的授权。