Разрешить приложению доступ к защищенному URL Azure AD без имени пользователя и пароля - PullRequest
1 голос
/ 28 марта 2019

Никогда не думал, что у меня возникнет проблема с слишком большим количеством документации!Мне нужна помощь в подборе нужной информации, чтобы я мог ее прочитать, понять и следовать ей.

Мой сценарий:

У меня есть веб-приложение ASP .NET, которое размещено в mywebapp.azurewebsites.net Веб-приложение имеет полный REST API по адресу mywebapp.azurewebsites.net/api/v1/dostuff/1

. Вы можете зайти на сайт и выполнить все элементы CRUD.Вы также можете использовать приложение для настольного компьютера, чтобы сделать то же самое.

Я включил аутентификацию Azure AD в портале Azure.Теперь, чтобы что-то делать на веб-сайте, пользователям необходимо войти в систему. Он вызывает обычное всплывающее окно входа в Microsoft, а затем при успешной аутентификации перенаправляет обратно на сайт.

Но когда дело доходит до настольного приложения,Я хочу, чтобы пользователи могли использовать его без входа в систему. Каким-то образом мое настольное приложение должно иметь возможность совершать вызовы к API / веб-сайту и проходить проверку подлинности!

В этот момент я теряюсь, если что-то естьМне нужно сделать это в файле манифеста, или в веб-приложении, или в другом месте?

Самое большее, что я смог сделать, - это получить токен доступа, используя учетные данные клиента / секрет клиента.

Мне просто нужноузнать, возможно ли то, что я пытаюсь достичь, и какой документ объясняет подход к этому.

1 Ответ

1 голос
/ 28 марта 2019

Что ж, фундаментальная проблема, с которой вы столкнулись, заключается в том, что настольное приложение (как и любой общедоступный клиент) не имеет способа аутентификации себя в AAD безопасным способом.

Вы не можете использовать секрет клиента. Получить секрет из исполняемого файла очень просто, и это в основном пароль вашего приложения.

Вы должны будете заставить API принимать вызовы без аутентификации.

Если для доступа к API требуется аутентификация, тогда пользователь должен пройти аутентификацию в приложении.

...