Как аутентифицировать пользователя в интерфейсе.NET Core MVC с помощью инфраструктуры идентификации ядра.net
У меня есть ASP.NET CORE MVC WebApp с Identity Framework. Теперь, когда мы также планируем расширить наш продукт таким образом, чтобы мы могли предоставлять мобильные приложения с xamerin, я решил создать API, чтобы нам не приходилось кодировать бэкэнд дважды. В настоящее время мы размещаем наше приложение в облаке Azure.
Для бэкэнда: я хотел бы использовать ASP.NET CORE WebApi, но я решил, что такого шаблона Identity или встроенной интеграции Azure Web API нет. Так будет ли лучше использовать ASP.NET вместо этого? Я уже создал базовый логин AccountController для API ядра.net.
Так как я аутентифицировал ASP.NET Core MVC Web App через каркас идентификации, я хотел бы также использовать его в бэкэнде. Чтобы вы вошли в систему на бэкэнде и получили токен, как только вы вошли в систему. Я должен написать код для входа пользователя в систему и вернуть токен.
Как именно я могу аутентифицировать интерфейс.NET ASP CORE? Пользователь запросит страницу входа в систему -> AuthConntroller.Login-> Метод входа в систему запускает вызов Backend API для входа в систему -> Backend API запрашивает базу данных backend -> если при успешном возврате true-> backend генерирует токен -> отправляет его обратно во внешний интерфейс -> frontend использует Owin, чтобы я мог использовать атрибут [Authorize] в классах контроллера, чтобы я мог аутентифицировать пользователя?
Что-нибудь еще, что я должен рассмотреть, когда я использую такой дизайн API?
Большое спасибо за любые советы / хитрости / ссылки / рекомендации по моей дилемме.
С уважением, Пол
1 ответ
Если я правильно понимаю проблему, эти источники могут помочь:
http://docs.identityserver.io/en/release/quickstarts/6_aspnet_identity.html https://github.com/openiddict/openiddict-core
В таких случаях может не хватить идентичности Asp.Net. Вы можете предоставить Auth server project эти библиотеки для ваших клиентских проектов.