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