ASP.NET MVC + Web API2 + авторизация и аутентификация AngularJS

Я разрабатываю одно большое приложение, которое будет состоять из ASP.NET MVC и AngularJS + Web Api2 на back-end. Раньше я использовал авторизацию форм MVC в своих приложениях. Существует множество примеров использования авторизации на основе токенов с помощью AngularJS + Web Api, но не может найти полное решение, которое будет соответствовать обоим случаям.

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

Ответ 1

  • Реализовать ASP.Net Identity 2 в приложении WebAPI2 вот хороший учебник по внедрению ASP.Identity 2. Это лучше, если вы сохраняете приложение WebAPI и MVC5 в разных проектах.

  • Определите, хотите ли вы подключиться к API напрямую из приложения AngularJS или из своего приложения MVC.

  • Если вы вызываете API-методы непосредственно из вашего приложения AngularJS, используйте эту директиву для OAuth2. Храните файл access_token в localstorage или файле cookie.

  • Если вы вызываете методы API из своего приложения MVC, храните access_token на стороне клиента (используя localstorage или cookie) и используйте его для каждого вызова вашего API. вот учебник, показывающий, как использовать AngularJS с ASP.Net MVC5

  • Убедитесь, что вы используете безопасное соединение (https).

Обновление

Вы можете использовать поставщиков ASP.Net по умолчанию для WebAPI. Но поставщики по умолчанию лучше всего работают с EnityFramework.
Я не являюсь поклонником EF, поэтому сам использовал пользовательских поставщиков. Вот обзор пользовательских провайдеров idenity. Этот пример MySQL помог мне в реализации пользовательского поставщика (однако я все еще использовал SQL Server, но с нашим собственным внутренним DAL).