索赔流程中的 OpenId Connect Permission/Authorization
OpenId Connect Permission/Authorization in Claims Flow
我们正在为我们的少数 SPA 和 WebAPI(我们拥有所有)使用隐式流的 SSO、身份验证和授权实现带有 MS.Identity 的 IdentityServer4。
对于隐式流,Id_Token 是我们放置额外 'claims.' Spec here.
的地方
access_token 不包含根据 this.
的自定义权限声明
问题:授予和删除权限的流程是什么?
- 客户端如何在不轮询用户信息端点的情况下知道 Permissions/Claims 已更改?
- 资源服务器怎么知道的?
Id_token 的撤销不符合规范。根据我对 OpenID Conenct 的理解,知道权限的令牌声明的效用似乎不再适用。
我是否遗漏了一个明显的内置规范解决方案,或者当权限发生变化时我们是否实施了某种重新发布Id_Token?
谢谢..
令牌不包含权限。它们包含有关客户和用户的身份数据。
https://leastprivilege.com/2016/12/16/identity-vs-permissions/
根据多米尼克的回答。
我将实施 Permission/Authorization 服务器和端点。
SPA 和 WebAPI 客户端可以通过身份验证调用它以获得权限。现在我们可以 return 我们需要的任何自定义权限对象。
在 access_token 中,我们将添加自定义 'Permission ETAG',这样如果用户的权限发生变化,每个客户端都知道获取新权限。
欢迎建设性批评..
我们正在为我们的少数 SPA 和 WebAPI(我们拥有所有)使用隐式流的 SSO、身份验证和授权实现带有 MS.Identity 的 IdentityServer4。
对于隐式流,Id_Token 是我们放置额外 'claims.' Spec here.
的地方access_token 不包含根据 this.
的自定义权限声明问题:授予和删除权限的流程是什么?
- 客户端如何在不轮询用户信息端点的情况下知道 Permissions/Claims 已更改?
- 资源服务器怎么知道的?
Id_token 的撤销不符合规范。根据我对 OpenID Conenct 的理解,知道权限的令牌声明的效用似乎不再适用。
我是否遗漏了一个明显的内置规范解决方案,或者当权限发生变化时我们是否实施了某种重新发布Id_Token?
谢谢..
令牌不包含权限。它们包含有关客户和用户的身份数据。
https://leastprivilege.com/2016/12/16/identity-vs-permissions/
根据多米尼克的回答。
我将实施 Permission/Authorization 服务器和端点。
SPA 和 WebAPI 客户端可以通过身份验证调用它以获得权限。现在我们可以 return 我们需要的任何自定义权限对象。
在 access_token 中,我们将添加自定义 'Permission ETAG',这样如果用户的权限发生变化,每个客户端都知道获取新权限。
欢迎建设性批评..