ADAL:我在哪里可以查看资源 ID?

ADAL: Where do I view the resource ID's?

我刚开始使用 adal-node npm 包。

在示例中提到:

var resource = '00000002-0000-0000-c000-000000000000';

这个ID来自哪里?从我的用例来看,我只想批量更新我的广告中的用户。

资源的值是一个 URI,用于标识令牌对其有效的资源。

如果您想在 AD 中使用 Microsoft Graph API 到 update your users,您应该使用 https://graph.microsoft.com 作为资源。

你可以参考这个sample。您将获得图形客户端来更新用户。

const AuthenticationContext = require('adal-node').AuthenticationContext;
const MicrosoftGraph = require("@microsoft/microsoft-graph-client");

const authorityHostUrl = 'https://login.windows.net';
const tenantName = ''; //azure active directory tenant name. ie: name.onmicrosoft.com
const authorityUrl = authorityHostUrl + '/' + tenantName;
const applicationId = ''; //application id for registered app
const clientSecret = ''; //azure active directory registered app secret
const resource = "https://graph.microsoft.com"; //URI of resource where token is valid

const context = new AuthenticationContext(authorityUrl);

context.acquireTokenWithClientCredentials(
    resource,
    applicationId,
    clientSecret,
    function(err, tokenResponse) {
    if (err) {
      console.log('well that didn\'t work: ' + err.stack);
    } else {
      let client = MicrosoftGraph.Client.init({
        defaultVersion: 'v1.0',
        authProvider: (done) => {
            done(null, tokenResponse.accessToken);
        },
      });

      client
      .api('/users')
      .get((err, result) => {
          console.log(result, err);
      });
    }
});

资源是一种service/app/api,您要求像 Azure AD 这样的身份提供者为其颁发令牌。您也可以将 AppId(客户端 ID)作为资源

'00000002-0000-0000-c000-000000000000' 是 Azure AD Graph 的客户端 ID API (https://graph.windows.net/ ). This Api is being deprecated in favor of Microsoft Graph "https://graph.microsoft.com",这是您应该使用的资源。