У меня запущено веб-приложение в Node.js.Это аутентификация интегрирована с Azure Active Directory.В настоящее время мы используем субъект-службу для вызова API, зарегистрированного в каталоге.Как я могу изменить запрос токена, чтобы он выполнялся аутентифицированным пользователем, а не субъектом службы?Это происходит главным образом потому, что все действия после вызовов регистрируются как Принципал службы, а не зарегистрированным пользователем.
Это фактический код, который я использую для запроса токена и доступа к API:
var qs = require('qs');
const axios = require('axios');
const Swagger = require("swagger-client");
const request = require("request");
const http = require("https");
const AUTHORITY = 'https://login.microsoftonline.com/<tenant_name>';
const WORKBENCH_API_URL = '<api_url>';
const RESOURCE = '<resource_id>';
const CLIENT_APP_Id = '<service_principal_id>';
const CLIENT_SECRET = '<serivce_principal_secret>';
// Getting token from AAD
const acquireTokenWithClientCredentials = async(resource, clientId, clientSecret, authority) => {
const requestBody = {
resource: resource,
client_id: clientId,
client_secret: clientSecret,
grant_type: 'client_credentials'
};
console.log(acquireTokenWithClientCredentials);
const response = await axios({
method: 'POST',
url: `${authority}/oauth2/token`,
data: qs.stringify(requestBody),
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
return response.data;
}
Я использую стратегию passport-azure-ad с перенаправлениями.
Заранее благодарен за любую помощь.