【问题标题】:IdentityServer4 with User Administration system need to be impelemented in ASP.net core project带有用户管理系统的 IdentityServer4 需要在 ASP.net 核心项目中实现
【发布时间】:2021-04-28 00:45:16
【问题描述】:

我是第一次使用 identityServer4,我需要一些帮助来实现我的 asp.net 核心项目。我有许多基于 asp.net 核心的应用程序,它们的用户系统必须由公共服务器管理,因为它们的来源不同(http://ip:prot1 和 http://ip:port2)。 到目前为止,我可以实现一个 idetntyServer4 来进行客户端凭据身份验证。现在我只是不知道将用户数据返回到我的应用程序的正确流程是什么。

从网站A点击登录->登录(应该在identityServer4中发生?)->然后成功时-->重定向到发送页面(网站A)---必须将记录的用户数据发回。 . 它是怎么发生的? 现在我点击网站 a --> b --> 会发生什么?我如何获取我的系统知道的用户数据?

另一个问题,为什么身份服务器需要用户存储?这个数据库中的登录数据会被保存吗?它不只是基于 cookie 吗?

最后一个问题:我应该把用户查询的 api 从我的数据库放在哪里?在 identityServer4 中?

文档没有显示流程,因此没有什么帮助。

您是否知道任何不基于 mvc 的 identityServer 快速入门(只是剃须刀页面)。它可能比他们的 mvc 快速入门更简单

希望我能在这里找到一些帮助:)

【问题讨论】:

    标签: asp.net-core identityserver4


    【解决方案1】:

    感谢您的回答。这有很大帮助。那我想问你,我怎样才能在客户端获取当前用户信息?你说我可以从 cookie 中获取用户信息,你的意思是在服务器中,对吗?我需要得到它的客户。我可以用代码在我的客户端中查询用户 ID:

    var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

    但是,服务器中定义的声明我也无法在客户端中获取它们,你知道我如何在那里查询它们吗? 提前谢谢你

    【讨论】:

      【解决方案2】:

      QuickStart 是一个保护 api 的例子。当网站A点击登录时,它应该发生在identityServer4中。登录成功后会将token发送给A网站,A网站就可以使用token访问api了。

      关于登录用户数据和用户存储,需要在identityserver上配置数据库,使用identity来处理登录用户。用户登录成功后,会将用户信息保存在cookie中,您可以从cookie中检索用户信息。

      关于用户查询,如果是关于认证的,需要放在身份服务器上。否则,应该放在api上。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        • 2020-01-10
        • 1970-01-01
        • 2020-09-09
        • 2017-08-09
        相关资源
        最近更新 更多