У меня есть Azure Настройка функции с конечной точкой веб-триггера, которую я хочу использовать в качестве бэкэнда для приложения React. Без настройки аутентификации работает нормально. Когда я настраиваю аутентификацию службы приложений с помощью AD, она работает нормально, когда я получаю доступ напрямую через браузер (после аутентификации), но когда я пытаюсь получить доступ с JS, предоставляя токен на предъявителя, я получаю 401.
const response = await axios.get(`${window.apiUrl}api/jobs`, {
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + token.accessToken,
},
});
Клиентское приложение работает на Azure и зарегистрировано как Azure приложение AD. Я могу аутентифицироваться, запрашивать AD и успешно использовать MS Graph API.
Я использую встроенную Azure аутентификацию AD служб приложений. У меня установлен идентификатор клиента, такой же идентификатор клиента, как у ранее упомянутого приложения Azure AD, а также тот же URL-адрес эмитента.
Попытка получить токен сеанса:
const accessToken = await authProvider.getAccessToken();
const idToken = await authProvider.getIdToken();
const login = await axios.post(
'https://<appname>.azurewebsites.net/.auth/login/aad',
{ access_token: accessToken.accessToken },
{
headers: {
'Content-Type': 'application/json',
},
},
);
Подробнее
Моя претензия по аудиту 00000003-0000-0000-c000-000000000000
. В Azure Portal моя функция Azure настроена на использование того же приложения Azure AD, что и мой SPA. Я использую MSAL. js для аутентификации в моем SPA. Я запрашиваю области User.Read и Directory.Read.All.