我有一个配置为通过Azure AD进行身份验证的Node.js应用程序,该部分有效。尝试使用Azure AD提供的访问令牌时,对Azure API的API调用会指出它们无效。
'承载者授权_uri =“ https://login.windows.net/”,错误=“ invalid_token”,错误_description =“访问令牌无效。
如果我使用id_token,至少可以验证它是一个令牌,但是它的观众/资源错误。
答案 0 :(得分:0)
'承载者授权_uri =“ https://login.windows.net/”,错误=“ invalid_token”,错误_description =“访问令牌无效。
根据您的错误信息,我假设令牌的资源无效,
如@junnas所述,您可以在请求访问令牌时尝试使用https://management.core.windows.net/作为资源。
或者,请添加演示代码以获取访问令牌。
我能够使用ADAL库最终获得访问令牌。.现在如何转换访问令牌以使用ms-restazure或SDK进行身份验证?
我们可以从GitHub获取演示代码。以下是该文档的摘录。
使用服务主体名称和机密登录
var msrestAzure = require('ms-rest-azure');
var someAzureServiceClient = require('azure-arm-someService');
msRestAzure.loginWithServicePrincipalSecret(clientId, secret, domain, function(err, credentials) {
if (err) return console.log(err);
var client = new someAzureServiceClient(credentials, 'your-subscriptionId');
client.someOperationGroup.method(param1, param2, function(err, result) {
if (err) retutrn console.log(err);
return console.log(result);
});
});