Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 独立身份服务器4用户名查找_C#_Identityserver4_Claims Based Identity - Fatal编程技术网

C# 独立身份服务器4用户名查找

C# 独立身份服务器4用户名查找,c#,identityserver4,claims-based-identity,C#,Identityserver4,Claims Based Identity,从独立identity server 4获取用户详细信息的推荐方法是什么 我有一个api和身份验证服务器作为独立的实体。api中的很多资源都附带了身份验证用户ID,我希望在UI上显示真实的用户名。虽然有一个显而易见的解决方案,将api方法添加到identity server,根据提供的ID返回这些方法,但我想知道是否有关于这方面的最佳实践 我有一种奇怪的感觉,就是在api中公开用户信息,即使是基于id的查找。理论上,任何人都可以获得这些id。我只对名字、姓氏和用户名声明感兴趣,所以可能这些都是公

从独立identity server 4获取用户详细信息的推荐方法是什么

我有一个api和身份验证服务器作为独立的实体。api中的很多资源都附带了身份验证用户ID,我希望在UI上显示真实的用户名。虽然有一个显而易见的解决方案,将api方法添加到identity server,根据提供的ID返回这些方法,但我想知道是否有关于这方面的最佳实践

我有一种奇怪的感觉,就是在api中公开用户信息,即使是基于id的查找。理论上,任何人都可以获得这些id。我只对名字、姓氏和用户名声明感兴趣,所以可能这些都是公开的,我想得太多了


另一个选择是设置服务器到服务器的通信,这会增加负载,所以我对tbh不是很兴奋。您如何处理此问题?

我们有一个身份验证服务器(IdSrvr4)和一个授权服务器

如果您已经说过用户的令牌,请使用内置的

对于任何定制,我们都在授权服务器中实现。所以,如果你想知道其他用户的名字和姓氏,我们有一个自定义的端点。该自定义端点使用自定义授权过滤器,并使用对数据库的直接调用(我们使用EF&MS Identity)

因评论而更新。
我们选择了2台服务器,1台用于身份验证,1台用于授权。这篇文章的标题和作者是IdentityServer4。

那么,您是如何在登录时建立身份的呢?IdSrv如何验证登录请求?这与授权无关,更重要的是根据用户id查找用户数据。我认为您的评论是用户令牌。我没有,因为这是一个查找多个用户在同一时间。例如,数据表否,我问的是IdSrv如何与身份验证系统通信。例如,我有一个具有ASP.NET核心标识的IdSrv,因此它同时充当授权和身份验证服务器,我们在那里有端点来管理UsersName,这里的设置非常简单。如果我的api和我的身份验证/授权服务器是同一个实体,那么就很容易注入usermanager并从数据库中获取数据,但事实并非如此。是的,我就是这么想的,谢谢你,很高兴知道。需要获得许多用户的详细信息(通常在表中,每分钟计算25行),这样userinfo就不会像我多次调用它那样工作了。自定义api会更好。“我们有一个身份验证服务器(IdSrVr4)和一个授权服务器。”,你倒过来说。IdSrv是授权服务器,而不是身份验证服务器one@Camilo我不相信你是对的。IdSrvr验证您实际上就是您所说的那个人(身份验证)。它不解决允许您执行的操作(授权)。恰恰相反,IdSrv将身份验证明确地保留在系统之外,以便您可以使用ASP.NET Core Identity或Active Directory进行身份验证。更重要的是,IdSrv正是为了解决允许用户(通常在特定客户机中)做得好的问题,无论哪种方式,对我来说都没有太大的变化。我将IdentityServer4与网络核心标识一起使用。如果我有前端的用户id,任务只是获取用户详细信息。显然,定制api方法是实现这一目标的必由之路。干杯,伙计们;)