【发布时间】:2016-09-08 16:47:00
【问题描述】:
我正在使用标准的 ASP.net OWIN OAuth 中间件系统来使用 Bearer 令牌对本地用户进行身份验证。我正在考虑将角色作为声明嵌入到令牌中,但想知道如何更改用户角色,例如在不注销的情况下取消管理员权限。有什么想法吗?
【问题讨论】:
标签: asp.net oauth owin bearer-token
我正在使用标准的 ASP.net OWIN OAuth 中间件系统来使用 Bearer 令牌对本地用户进行身份验证。我正在考虑将角色作为声明嵌入到令牌中,但想知道如何更改用户角色,例如在不注销的情况下取消管理员权限。有什么想法吗?
【问题讨论】:
标签: asp.net oauth owin bearer-token
总是可以实施一些肮脏的解决方案来支持您的问题,例如: 当角色发生变化时,然后在 RABBITMQ / NServiceBus(或通过事件)等队列中引发偶数。 订阅者(网站)将使 cookie 失效并重新生成一个带有新声明的新 cookie。
我没有看到等待 cookie 过期的问题。 实际上,不记名令牌(身份或访问权限)具有“expires_in”属性,因此即使您的 cookie 使用新声明重新生成,令牌在提供程序中仍然有效。 另一个说明您的权限可以由 UMA 服务器返回,它们不一定来自您的声明。 看看这个场景:http://lokit.westus.cloudapp.azure.com/Documentation#third-scenario-limit-access-to-certain-website-features
【讨论】: