Я пытаюсь создать приложение, которое запускается как приложение nodejs / реагирует.он вызывает внешний API, который также зарегистрирован в Azure Ad, используя часть потока.
в зависимости от пользователя, вошедшего в систему, я хочу запросить передачу определенных областей в службу от имени вошедшего в систему пользователя.мой код выглядит следующим образом:
const request = require('request');
function getApiTokenOnBehalfOf(req, callback) {
var options = {
method: 'POST',
url: 'https://login.microsoftonline.com/organizations/oauth2/v2.0/token',
headers:
{
'Content-Type': 'application/x-www-form-urlencoded'
},
form:
{
assertion: req.user.accessToken,
grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
client_id: process.env.PASSPORT_AZUREAD_ID,
client_secret: process.env.PASSPORT_AZUREAD_SECRET,
scope: 'https://`myorg.com/api/Users.Read.All',
requested_token_use: 'on_behalf_of'
}
};
request(options, callback);
}
по какой-то причине области, возвращаемые в токене, всегда включают все области, на которые пользователь когда-либо соглашался для этого приложения.как ограничить токены, возвращаемые пользователю, только теми, которые я запрашиваю при вызове?