Шаблон ASP.NET Core Web API с аутентификацией AAD - где учебник, чтобы заставить его работать? - PullRequest
1 голос
/ 15 апреля 2019

Я создал новый веб-сервис с использованием VS 2019 ASP.NET Core Web API из шаблона проекта с аутентификацией AAD. Он создает простой ValuesController и настраивает аутентификацию AzureAdBearer в StartUp, но нет указателей того, что делать дальше. В созданном проекте нет ссылок на документы и комментариев. Я не смог найти никаких документов по https://docs.microsoft.com/, ссылающихся на этот шаблон, все примеры там относятся к другим образцам проектов, в которых используются различные конструкции кода, типы аутентификации и т. Д.

Из коробки проект просто возвращает 401 независимо от того, запущен он локально или опубликован в веб-службе Azure.

Есть ли какие-либо рекомендации о том, что делать дальше и заставить этот шаблон работать?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2019

WebApi отсутствует в интернете, ожидая, что клиент позвонит ему с токеном доступа в заголовках.

Обычно, чтобы узнать об этом сценарии, вам нужно создать пару проектов в Visual Studio, веб-API и какое-нибудь клиентское приложение, которое вызывает этот веб-интерфейс.

Клиентское приложение запросит access_token для этого веб-API из Azure AD и отправит его вместе со своим вызовом в API.

Сгенерированный код проверяет этот токен доступа, чтобы убедиться, что является его действительным и выдан для этого API (среди прочего).

Я бы посоветовал вам попробовать один из. Используйте примеры, предоставленные на Домашняя страница Azure Active Directory для разработчиков

0 голосов
/ 15 апреля 2019

Вы можете обратиться к примеру кода: Вызов веб-API в веб-приложении ASP.NET Core с использованием Azure AD .

Ваш веб-интерфейс API теперь защищен Azure AD. Если какой-либо клиент вызывает ваш API-интерфейс, он должен добавить токен доступа Azure AD в качестве токена-носителя в заголовок авторизации в HTTP-запросе. Ваш веб-интерфейс проверит токен и авторизует пользователя с помощью промежуточного программного обеспечения для аутентификации канала-носителя JWT (AzureAdBearer промежуточное программное обеспечение).

Ваше клиентское приложение может использовать промежуточное программное обеспечение OpenID Connect и библиотеку аутентификации Active Directory (ADAL.NET) для получения токена-носителя JWT для вошедшего в систему пользователя с использованием протокола OAuth 2.0. Затем клиентское приложение может использовать этот токен для доступа к вашему защищенному API. См. TodoListWebApp проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...