繁体   English   中英

将 scope 添加到 OpenID Connect 身份提供者(Azure AD 租户)后,idp_access_token 中未返回新的 scope

[英]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

环境

Node.js/Express Web Azure 上的应用

期望的行为

单点登录后, idp_access_token中的scp值应该包含一个新添加的scope,即: Sites.ReadWrite.All

实际行为

scp值不包括新增的scope。

重现步骤

Azure AD > [ switch directory to Azure AD B2C ] > Azure AD B2C > Identity Providers

单击Open ID Connect的现有条目。

(此提供程序使来自“家庭”Azure AD 租户的用户能够使用单点登录进行登录)。

更改Scope字段的值 FROM:

openid profile User.ReadWrite.All Directory.ReadWrite.All Team.ReadBasic.All TeamSettings.ReadWrite.All

到:

openid profile User.ReadWrite.All Directory.ReadWrite.All Team.ReadBasic.All TeamSettings.ReadWrite.All Sites.ReadWrite.All

换句话说,我刚刚添加了Sites.ReadWrite.All scope。

在登录时执行单点登录。

检查在 jwt.ms 返回的idp_access_token值。

scp属性缺少新添加的 scope ( Sites.ReadWrite.All ):

Directory.ReadWrite.All openid profile Team.ReadBasic.All TeamSettings.ReadWrite.All User.ReadWrite.All email  

我尝试注销并再次登录,但仍然只得到“旧”值 scope。

也就是说,新的 scope 还没有添加到idp_access_token中。

不确定这是否只是等待的问题,但之后:

  • 写出原来的问题
  • 在本地开发环境中退出应用程序
  • 在本地开发环境中重新启动应用程序
  • 在本地开发环境中再次尝试登录

我看到了更新后的同意屏幕:

在此处输入图像描述

接受后,新范围在idp_access_token中返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM