【问题标题】:Identity Server 4 Changing of Profile Data. How Does Client Know?Identity Server 4 更改配置文件数据。客户如何知道?
【发布时间】:2018-04-12 14:06:16
【问题描述】:

我对在这种情况下会发生什么感到有些困惑。假设您有带有 Asp.net Identity Core (IC) 的 Identity Server 4 (IS4)。用户登录后,您将获得个人资料信息(姓名、电子邮件等)。

现在客户端可能会存储该信息。现在如果用户更改他们的信息(例如更改他们的姓名)会发生什么。

客户如何知道这一变化?

【问题讨论】:

    标签: asp.net-identity identityserver4


    【解决方案1】:

    我认为 IdentityServer 中没有触发器来通知您的应用程序。这并不意味着你不能构建一些东西来做到这一点。一个简单的解决方案是注册您的应用程序,以便在用户配置文件发生更改时通知它。

    否则,您可以检查何时收到令牌。您可以使用具有过期时间的内存中用户列表(将其设置为一天左右)。如果用户不在列表中,请检查 userinfo 端点。您不能使用令牌中的信息,因为那不是最近的。不在用户列表中并不意味着该令牌是最近发行的。

    【讨论】:

    • 是的,一旦发布了身份令牌(或调用了用户信息端点),客户端应用程序已加载到声明中。您需要自定义的东西来检测或检查配置文件更改。
    • 如果您在 IS4 上创建一个新端点,您将如何保护该端点?
    • 获取刷新的数据?
    • 端点已经存在,只需调用它:docs.identityserver.io/en/release/endpoints/userinfo.html 或查看示例。
    【解决方案2】:

    我认为userinfo endpoint 可以帮助你实现你想要的。只要你有一个有效的访问令牌,它就可以给你用户声明

    【讨论】:

      猜你喜欢
      • 2019-07-25
      • 1970-01-01
      • 2019-04-26
      • 2020-06-21
      • 2012-03-27
      • 2021-04-08
      • 2020-03-22
      • 2023-02-19
      • 1970-01-01
      相关资源
      最近更新 更多