АДАЛ: Где я могу посмотреть идентификаторы ресурса? - PullRequest
2 голосов
/ 12 апреля 2019

Я новичок в использовании пакета adal-node npm.

В примере упоминается:

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

Откуда этот идентификатор? Из моего сценария использования я просто хочу обновить пользователей в моем AD.

Ответы [ 2 ]

4 голосов
/ 15 апреля 2019

Ресурс - это служба / приложение / api, для которой вы просите поставщика удостоверений, такого как Azure AD, выдать токены.Вы также можете использовать AppId (идентификатор клиента) в качестве ресурса

'00000002-0000-0000-c000-000000000000' - это идентификатор клиента API Azure Graph Graph (https://graph.windows.net/).Этот Api устарел в пользу Microsoft Graph"https://graph.microsoft.com",, который является ресурсом, который вы должны использовать.

2 голосов
/ 15 апреля 2019

Значением ресурса является URI, который идентифицирует ресурс, для которого токен является действительным.

Если вы хотите использовать Microsoft Graph API для обновления ваших пользователей в вашей AD, вы должны использовать https://graph.microsoft.com для ресурса.

Вы можете обратиться к этому образцу . Вы получите граф клиента для обновления пользователей.

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);
      });
    }
});
...