В настоящее время я работаю над проектом, в котором мне нужно извлечь данные из конечной точки приложения-функции Azure через клиентское приложение angular 7.Эта конечная точка защищена с помощью Azure Active Directory и была настроена с помощью пользовательского интерфейса регистрации приложения (предварительного просмотра).
Это работает очень хорошо, так как я не могу получить доступ к этим конечным точкам, как сейчас.Я пытался с токен-носителем через почтальон, и через сгенерированный код из get url в разделе приложения функции.Это полностью заблокировано.Я получаю несанкционированный доступ каждый раз.
Шаги, которым я следовал
Я настроил свой угловой клиент, как описано здесь в документации сБиблиотека MSAL.Я использовал конечную точку v2 для настройки подключения моего клиентского приложения.Затем я подключил свою конечную точку приложения функции через регистрацию приложения (предварительный просмотр).Я настроил разрешения и предварительно авторизовал мое веб-приложение, используя его идентификатор клиента - добавил URL перенаправления на http://localhost:4200 - добавил модуль msal к angular следующим образом:
MsalModule.forRoot({
clientID: 'my-client-id',
redirectUri: 'http://localhost:4200',
consentScopes: [
'user.read',
'https://myapp.azurewebsites.net/user_impersonation'
]
}),
Я перепробовал все возможные комбинациинастройки безопасности через пользовательский интерфейс Azure, хотя я и новичок в Azure (работаю с ним в течение 1 недели), я близок к тому, чтобы сказать, что я был везде, не приближаясь.
Каждый раз, когда я запрашиваю свою конечную точку, я получаю 401 Unauthorized
с сообщением:
У вас нет разрешения на просмотр этого каталога или страницы.
Я должендобавить я запускаю свой угловой сайт локально
Меня не перенаправляют на страницу авторизации, хотя я настроил это в пользовательском интерфейсе Azure - под защитой активной директории Azure.
Я пробовал несколько руководстввключая этот , который дает хорошее представление о том, что я сделал с точки зрения шагов.
У меня заканчиваются идеи, у кого-нибудь из вас были проблемы с этим?
РЕДАКТИРОВАТЬ
Код сервера, связанный с авторизацией:
public static async Task<HttpResponseMessage> RunGraphQLService([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, ILogger log)
Как уже упоминалось в комментариях, я отправляю запрос в сервис просто отличноAuthorization: Bearer ey......something
1046 * Снимок экрана почтальона, минус конфиденциальная информация:
Это все, что ямог бы подумать, чтобы обеспечить.Что касается дополнительной информации.
С уважением, Крис