【发布时间】:2018-04-29 13:00:43
【问题描述】:
从独立身份服务器 4 获取用户详细信息的推荐方法是什么?
我有一个 api 和 auth 服务器作为单独的实体。 api 中的很多资源都附加了身份验证用户 ID,并且在 UI 上我想显示真实的用户名。虽然有一个明显的解决方案,将 api 方法添加到身份服务器,这将基于提供的 id 返回这些,我想知道是否有任何关于此的最佳实践。
我对在 api 中公开用户信息有一些奇怪的感觉,即使它是基于 id 的查找。理论上任何人都可以获得这些id。我只对 given_name、family_name 和 username 声明感兴趣,所以也许这些已经足够公开了,我想多了。
其他选项是设置服务器到服务器的通信,这会增加负载,所以我对那个 tbh 不是很兴奋。你是怎么处理这个问题的?
【问题讨论】:
-
那么,您是如何在登录时建立身份的? IdSrv 如何验证登录请求?
-
这不是关于授权,它更多的是关于基于用户ID查找用户数据。我认为您在此评论中的领先之处是用户令牌。我没有那个,因为它当时是对多个用户的查找。例如。数据表
-
不,我问的是IdSrv如何与认证系统通信。例如,我有一个带有 ASP.NET Core Identity 的 IdSrv,因此它既可以用作授权服务器,也可以用作身份验证服务器,并且我们在那里有端点来管理用户
-
这里一样,设置非常简单。如果我的 api 和我的 auth/authorization server 是同一个实体,那么就像注入 usermanager 并从 db 获取数据一样简单,但事实并非如此。
标签: c# identityserver4 claims-based-identity