gpt4 book ai didi

azure - Azure B2C OAuth 客户端凭据流中的访问 token 声明中缺少范围

转载 作者:行者123 更新时间:2023-12-03 05:19:34 25 4
gpt4 key购买 nike

我已关注documentation注册一个应用程序 (App) 资源,该资源对也向租户注册的另一个 (API) 资源具有有限的访问权限。我已经公开了该 API 范围,该范围已在(应用程序)资源中该特定范围的 API 权限中注册,如下所示。

enter image description here

我还生成了一个客户端 key ,并尝试使用 client-credentials 授予类型检索 token 。虽然它返回一个有效的 token 。它似乎不包含 scp 声明,而该声明应该是 access_as_***** 值。当 access_token 解码时,如何才能让此声明出现在 token 响应中?

enter image description here

最佳答案

Please note that, client-credentials grant type works with Application permissions only. As your exposed API scope is Delegated, it won't work with client-credentials grant type.

除此之外,您还使用错误的 token 端点来生成 token 。

您可以获取应用程序的 token 端点,如下所示:

转至 Azure 门户 -> Azure AD B2C -> 应用注册 -> 您的应用 -> 概述 -> 端点

enter image description here

我尝试在我的环境中重现相同的结果并得到以下结果:

我已经注册了一个 API 应用程序,并通过更改其 list 创建了 AppRole,如下所示:

"appRoles": [
{
"allowedMemberTypes": [
"Application"
],
"description": "Access API",
"displayName": "Demo",
"id": "xxxx-xxxx-xxxx-xxxx-xxxxxxxx",
"isEnabled": true,
"lang": null,
"origin": "Application",
"value": "access_as_api"
}
],

MyAPI list :

enter image description here

要生成 ID,您可以使用 PowerShellonline GUID generator

我在我的应用程序中添加了这个API范围,如下所示:

enter image description here

确保为该添加的权限授予同意,并且该权限属于应用程序类型:

enter image description here

我使用客户端凭据授予类型生成了访问 token ,如下所示:

enter image description here

当我解码 token 时,我成功获得了 scp 声明,如下所示:

enter image description here

关于azure - Azure B2C OAuth 客户端凭据流中的访问 token 声明中缺少范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73416245/

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