我正在编写一个Nodejs,通过Azure ARM模板部署Auth受保护的Web。在获取访问令牌以调用Web方面面临问题。
我使用adal库来使用adal和objectId生成访问令牌,但是生成的令牌没有有效的objectId。
我还试着获取device_code,然后尝试获得相同的访问令牌,但由于错误而失败了,“需要允许您的组织访问只有管理员才能授予的资源。请请求管理员在您使用该应用程序之前授予它权限。”
但是,如果我进入浏览器并输入https://app-service-name.azurewebsites.net/.auth/me,系统会提示我输入我的蔚蓝登录凭据并同意允许App访问资源,我将在浏览器上获得访问令牌。这个访问令牌拥有我所需要的所有属性(受众、发行者、objectId)。我正在努力从nodejs获得类似的访问令牌。
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);
}
});
我想用有效的访问令牌从我的节点CLI调用受AAD保护的web api。请帮我生成这个访问令牌。
发布于 2019-05-26 18:11:56
通过客户端凭据获取访问令牌的方式需要应用程序权限。
通过登录凭据获取访问令牌的方式需要委派的权限。
确保您拥有应用程序所需的应用程序权限。
另外,请记住单击“授予管理员同意”按钮。
https://stackoverflow.com/questions/56289724
复制相似问题