Oauth 索赔流中的OpenId连接权限/授权

Oauth 索赔流中的OpenId连接权限/授权,oauth,openid,jwt,openid-connect,identityserver4,Oauth,Openid,Jwt,Openid Connect,Identityserver4,我们正在使用MS.Identity实现IdentityServer4,用于SSO、身份验证和授权,使用隐式流为我们的少数SPA和WebAPI(我们所有) 对于隐式流,Id_标记是我们放置额外“索赔”的地方 根据,访问令牌不包含自定义权限声明 问题:授予和删除权限的流程是什么? 在不轮询用户信息端点的情况下,客户端如何知道权限/声明已更改 资源服务器如何知道 Id_令牌的撤销不是规范。根据我对OpenID Conenct的理解,在知道权限的令牌中声明的效用似乎不再适用 我是否缺少一个明显的内

我们正在使用MS.Identity实现IdentityServer4,用于SSO、身份验证和授权,使用隐式流为我们的少数SPA和WebAPI(我们所有)

对于隐式流,Id_标记是我们放置额外“索赔”的地方

根据,访问令牌不包含自定义权限声明

问题:授予和删除权限的流程是什么?

  • 在不轮询用户信息端点的情况下,客户端如何知道权限/声明已更改
  • 资源服务器如何知道
Id_令牌的撤销不是规范。根据我对OpenID Conenct的理解,在知道权限的令牌中声明的效用似乎不再适用

我是否缺少一个明显的内置规范解决方案,或者当权限发生变化时,我们是否实施某种Id_令牌的重新发布


谢谢..

令牌不包含权限。它们包含有关客户端和用户的身份数据


根据多米尼克的回答

我将实现一个权限/授权服务器和端点

SPA和WebAPI客户端可以通过身份验证调用它以获得权限。现在我们可以返回所需的任何自定义权限对象

在access_令牌中,我们将添加一个自定义的“Permission ETAG”,这样,如果用户的权限发生更改,每个客户端都知道如何获取新的权限


欢迎提出建设性的批评。

感谢您的回复。我阅读了这篇文章,并在几周前与同事分享了这篇文章,当时我们决定实现刷新令牌,最终导致重写整个身份验证/授权。最后,文章以“敬请关注”结尾。是否存在任何与OpenId Connect相关的现有解决方案或模式?为了解决有效负载大小问题,我们将枚举编码为短到2字节的ea,然后对其进行Base64URL编码。