【问题标题】:How to store user preferences in IdentityServer如何在 IdentityServer 中存储用户首选项
【发布时间】:2019-05-03 06:12:26
【问题描述】:

我需要了解如何解决问题,但在阅读了大量文档后我仍然没有弄清楚。

所以我有以下几点:

  • 一个角度应用程序。
  • 身份服务器 4
  • .NET 核心 API

用户通过重定向到身份服务器来登录 api,身份服务器返回 Angular 应用程序使用的访问令牌。

Angular 应用程序将令牌与每个请求一起发送到 API,API 进而针对 Identity Server 验证令牌。

现在的问题是:

用户需要存储将在整个应用程序中使用的某些属性的 id。但是现在当用户选择该 ID(或更改为其他 ID)时,我需要能够将该信息存储在身份服务器中(我想它应该是自定义声明)。这个想法是任何客户端对 Identity Server 进行身份验证都应该有权访问此 ID。

我在这里有点迷路,因为我不确定我是否以正确的方式解决问题。

我知道我可以在用户登录时使用 IProfileService 并设置自定义声明,但我在这里迷路的原因是因为我真正想做的是存储用户首选项,我不确定是否应该为此以及在哪一侧(API 或身份服务器)有一个端点。

谁能指出正确的方向?

谢谢。

【问题讨论】:

    标签: .net-core angular7 identityserver4


    【解决方案1】:

    如果 id 偏好是在用户级别,那么它应该进入存储用户详细信息(如用户名和密码)的用户数据库。

    如果您的身份服务器与其他服务(例如:UserAPI)对话以获取此用户详细信息。

    1. 从 Angular 应用更新 UserAPI 中的首选项(使用相同的令牌但声明正确)或
    2. 让 Angular 应用与您的 API 对话,并让 API 与 UserAPI 对话,使用客户端凭据流来更新首选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      • 1970-01-01
      相关资源
      最近更新 更多