我在登录时来自数据库的访问令牌中加入了一些声明(例如entity_id
和role
)。现在在某个阶段,entity_id
声明发生了变化,我需要获得一个包含更新声明的新访问令牌。我这样做是使用刷新令牌获取一个新的访问令牌,但它内部有相同的旧声明;可能是因为在刷新令牌的情况下没有调用实现IResourceOwnerPasswordValidator
的类。那么如何在访问令牌中获取更新的声明?因为用户必须注销并重新登录,否则会更新entity_id
和role
声明。
我知道另一种选择是使用/userinfo
端点来声明,但我的问题是在这种情况下,ASP.NET Core的[Authorize(Roles = "Manager")]
属性如何工作并了解如果角色在访问令牌中不存在?
答案 0 :(得分:1)
或者换句话说 - 经常更改的数据不适合作为令牌中的声明。
也就是说 - 在获取刷新令牌时,您可以让身份服务器再次运行配置文件服务管道 - 请参阅此处: