Что не так с моим URL-адресом для аутентификации AAD? - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь использовать AAD auth в моем приложении, оно работает нормально, когда я запускаю его локально в VS, и я могу войти в систему, но когда я публикую его в службе приложений Azure и пытаюсь получить доступ к приложению, я получаю сообщение об ошибке, котороеURL-адрес ответа не совпадает.

Вот моя часть appsettings.json

 "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "xxxxx.me",
    "TenantId": "xxxxx",
    "ClientId": "xxxx",
    "CallbackPath": "/signin-oidc",
    "ClientSecret": "xxxxx",
    "AppIDURL": "https://xxxxx.me/yyyyyBackend",
    "ConfigView": "MVC"

В регистрации приложения я добавил URL-адрес ответа, который является URL-адресом приложения из appserviceЯ также добавил

https://xxxxx.me/yyyyyBackend/signin-oidc

, но ни один из них не работает, поэтому я немного растерялся

Есть ли еще один URL-адрес для ответа, который я должен добавить?

* EDIT *

После использования fiddler, а также просмотра URL-адреса обратного вызова, когда приложения пытаются выполнить аутентификацию, выясняется, что он отправляет следующий URL-адрес перенаправления

https://xxx.azurewebsites.net/.auth/login/aad/callback

Нет, где вВ моем проекте я указал /.auth/login/aad/callback, и если я перебираю весь свой проект в VS, эта строка нигде не отображается, поэтому я в полном недоумении, почему он отправляет этот URL-адрес перенаправления?Это никогда не будет работать, потому что у меня его нет где-либо в моем коде

После добавления этого URL к моему URL-адресу ответа в appservice я получаю следующее сообщение об ошибке при развертывании

You do not have permission to view this directory or page.

1 Ответ

0 голосов
/ 24 мая 2018

Согласно вашему описанию, я предполагал, что вы используете промежуточное программное обеспечение OpenID Connect для входа пользователей из AAD-клиента. Вот подробное руководство Интеграция Azure AD в веб-приложение ASP.NET Core .Для работы на вашей локальной стороне вы можете добавить следующий URL-адрес ответа для вашего приложения AAD:

http(s)://localhost:{port}/signin-oidc

При развертывании в веб-приложении Azure вам также может понадобиться добавить следующий URL-адрес, как прокомментировал Уэйн Янг - MSFT:

https://{your-webapp-name}.azurewebsites.net/signin-oidc

После использования fiddler и просмотра URL-адреса обратного вызова, когда приложения пытаются выполнить аутентификацию, выясняется, что он отправляет следующий URL-адрес перенаправления

https://xxx.azurewebsites.net/.auth/login/aad/callback

На основе вашего обновления вы также включаете встроенную Аутентификацию и авторизацию в службе приложений Azure , которая помогает вам входить в систему пользователей и получать доступ к данным, записывая минимальный код или вообще не кодируя его в MVC.приложение.В вашей ситуации, поскольку вы использовали промежуточное программное обеспечение OpenID Connect в своем приложении для аутентификации, вам необходимо отключить аутентификацию службы приложений, в противном случае вы можете столкнуться с непредвиденными ошибками.

Кроме того, для устранения неполадок с подробной ошибкой вы можете Включение ведения журнала диагностики для веб-приложений в службе приложений Azure .

...