![](/img/trans.png)
[英]After adding a scope to a OpenID Connect Identity Provider (an Azure AD tenant), the new scope is not returned in the idp_access_token
[英]After adding a scope to an Azure AD B2C identity provider, how long does it take before the scope is include in the idp_access_token?
我一直遇到这个问题,所以正在寻求权威的答案。
我在 Azure 中有一个 Node.js web 应用程序,启用了 Azure AD B2C 身份验证。
当我更改 scope 时:
Azure AD B2C
> Identity providers
> [ select my IDP (an Azure AD tenant) ]
在成功登录后返回的idp_access_token
值包含新添加的 scope 之前,似乎需要很长时间/任意时间。
我发现自己做了很多随机的事情来尝试强制更改,但似乎没有什么能始终如一地工作——例如,注销并重新登录,重新启动 web 应用程序。
这需要多长时间,是否可以加快速度?
我试图在我的环境中重现该场景。
默认情况下,我被授予以下权限
我另外授予了User.ReadWrite.All,Application.Read.All
应用程序权限,因为不允许配置文件委派权限
我按照范围 openid 配置文件的方式配置了 OpenId 提供程序
我在身份验证刀片中检查了 idtoken 和访问令牌。
然后,如果我运行用户流程,则获得与用户 1的 IDP 配置中的范围
与用户 2
然后我更改了 scope 并添加了 Directory.Read.All
注意:这里UserId claim给map给
oid
还在我的应用程序的 API 权限刀片下授予Directory.Read.All
权限,并授予管理员同意。
但是测试运行用户流时的范围在配置期间似乎没有改变。
但是在运行时,我可以获得 idp_access_token,其范围为 Directory.Read.All openid profile email,如下所示。 它不需要太多时间,一旦更改就返回。检查是否遗漏任何内容。
idp_access_token 中的范围:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.