gpt4 book ai didi

javascript - User.ReadBasic.All 范围未授予,v2

转载 作者:行者123 更新时间:2023-11-30 20:31:11 24 4
gpt4 key购买 nike

我正在尝试从 v2 Azure 目录请求以下 3 个 oauth 范围:user.read、user.readbasic.all、calendars.readwrite。

我的授权 GET 请求是

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?'
+ '&client_id=myclientid'
+ '&response_type=code'
+ `&redirect_uri=myredirecturl`
+ '&response_mode=query'
+ '&scope=user.read%20user.readbasic.all%20calendars.readwrite'
+ '&prompt=consent';

请注意,自上次授权以来,我已经排除了更改同意类型的可能性。

我成功获得了一个代码,并将其换成一个 token :
axios.post(
'https://login.microsoftonline.com/common/oauth2/v2.0/token',
querystring.stringify(
{
client_id: my_client_id,
client_secret: my_app_secret,
grant_type: 'authorization_code',
code,
scope: 'user.readbasic.all user.read calendars.readwrite',
redirect_uri: my_redirect_url
},
null,
null,
{ encodeURIComponent: s => encodeURI(s) }
)

);
  • 我没有看到 user.readbasic.all 的任何同意消息登录
  • 我没有收到 User.ReadBasic.All在对 token 范围的响应中,我得到了奖励。
  • 我正在接收 user.read 和 calendars.readwrite

  • 更新
    我相信我正在将问题缩小到改变范围或租户类型。虽然我有 prompt=consent 作为参数,但我没有在我的个人帐户上获得 user.readbasic.all 范围。当我将授权链接发送给组织租户中的其他人时,他们会获得完整的权限列表。为什么不同的用户会有两个不同的权限页面?两张截图:
    org tenant
    personal tenant

    最佳答案

    stringify()方法是将您的对象转换为 application/json .这是不正确的,应该是application/x-www-form-urlencoded .

    有关如何使用 Axios 执行此操作的详细信息,请参阅 this GitHub Issue .

    此外,个人帐户 (MSA) 无法“读取所有用户的基本资料”。作为“个人”帐户,只有一个用户关联。

    关于javascript - User.ReadBasic.All 范围未授予,v2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50318929/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com