天蓝色图抛出 "Access Token missing or malformed"

azure-graph throws "Access Token missing or malformed"

我在我的 Note.js 项目中完美地使用了 azure APIs。

登录:

const MsRest = require('ms-rest-azure');
MsRest.loginWithServicePrincipalSecret(keys.appId, keys.pass, keys.tenantId);

创建资源组:

const { ResourceManagementClient } = require('azure-arm-resource');
const resourceClient = new ResourceManagementClient(credentials, subscriptionId);
resourceClient.resourceGroups.createOrUpdate(groupName, groupParameters);

它运行完美,azure-arm-authorization、azure-arm-compute 和 azure-arm-network 模块也是如此。

但是,我无法使用 azure-graph API:

const GraphkManagementClient = require('azure-graph');
const client = new GraphkManagementClient(credentials, subscriptionId);
return client.users.get(principalID);

最后一行报错:

Access Token missing or malformed

Active Directory Graph 服务是基于租户的,与资源管理器、计算等其他 Azure 服务相比具有不同的令牌受众,所有这些服务都具有基于订阅的令牌受众。因此,获取的令牌将适用于其他 Azure 服务,但不适用于 Graph,因此您会收到相应的令牌错误。请参考https://github.com/Azure/azure-sdk-for-node/tree/master/lib/services/graphManagement#how-to-use了解Graph的实现方式node.js