我们正在实施带有MS.Identity的IdentityServer4,用于SSO,身份验证和使用Implicit Flow为我们的少数SPA和WebAPI授权(我们拥有所有)。
使用隐式流程,Id_Token是我们提出额外“声明”的地方。 Spec here.
根据this.
,access_token不包含自定义权限声明问题:授予和删除权限的流程是什么?
Id_token的撤销不是规范。看来知识权限中的权利要求的效用不再适用于我对OpenID Conenct的理解。
我是否缺少一个明显的内置规格解决方案,或者当权限发生变化时我们是否实施了某种重新发布的Id_Token?
谢谢..
答案 0 :(得分:1)
代币不包含权限。它们包含有关客户端和身份的身份数据。用户。
https://leastprivilege.com/2016/12/16/identity-vs-permissions/
答案 1 :(得分:0)
根据多米尼克的回答。
我要实现一个Permission / Authorization Server和端点。
SPA和WebAPI客户端可以通过身份验证调用它以获取权限。现在我们可以返回我们需要的任何自定义权限对象。
在access_token中,我们将添加一个自定义的“权限ETAG”,这样如果用户的权限发生变化,每个客户端都知道要获取新的权限。
建设性批评欢迎......