gpt4 book ai didi

node.js - 获取 AAD 应用程序访问 token 以使用客户端 key 调用 Azure 应用程序服务

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:31 24 4
gpt4 key购买 nike

我正在编写 Nodejs CLI 以通过 Azure ARM 模板部署 AAD-Auth protected Web API。在获取 Access-Token 来调用 Web API 时面临问题。

我已使用 adal-node 库使用 AAD-App clientID 和 key 生成访问 token ,但生成的 token 没有有效的 objectId。

我还尝试获取 device_code,然后尝试使用相同的方法获取访问 token ,但失败并出现错误“需要访问组织中只有管理员才能授予的资源的权限。请要求管理员授予此应用程序的权限”在你可以使用它之前。”..

但是,如果我转到浏览器并输入 https://app-service-name.azurewebsites.net/.auth/me ,系统提示我输入我的 azure 登录凭据并同意让 AAD-App 访问资源,我在浏览器上获取访问 token 。这个访问 token 具有我需要的所有属性(受众、发行者、objectId)。我正在努力从 Nodejs CLI 获取类似的访问 token 。

const context = new AuthenticationContext('https://login.microsoftonline.com/my-tenant-id');
context.acquireTokenWithClientCredentials(
aadAppIdUri, aadAppId, aadClientSecret, (err: Error, result: any) => {
if (err) {
reject(err);
} else {
resolve(result.accessToken);
}
});

我想使用有效的访问 token 从我的 Node CLI 调用受 AAD 保护的 Web api。请帮助我为此生成访问 token 。

最佳答案

通过客户端凭据获取访问 token 的方式需要应用程序权限

通过登录凭据获取访问 token 的方式需要委派权限

确保您拥有您的应用所需的应用程序权限。 enter image description here

此外,请记住单击“授予管理员同意”按钮。

enter image description here

关于node.js - 获取 AAD 应用程序访问 token 以使用客户端 key 调用 Azure 应用程序服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56289724/

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