Аутентификация с помощью oAuth и ASP.NET MVC + WebApi
Мы планируем начать разработку нашего нового сайта с помощью ASP.Net, MVC и AngularJS. У меня также будет WebApi, с которым я бы хотел использовать аутентификацию oAuth, потому что ее легко переносить в токен, плюс может позволить пользователям входить в систему с Google, Facebook и т.д. В будущем.
Вопросы
-
Если я хочу использовать oAuth на моем WebApi (который является отдельным приложением), какой метод проверки подлинности следует использовать для моего веб-сайта asp.net MVC? OAuth? Формы? И то и другое? И как вы это реализуете? В моем API я написал простого провайдера oAuth, который запрашивает имя пользователя и пароль и возвращает строку токена.
-
Должен ли мой веб-сайт иметь один знак на странице входа для взаимодействия с веб-сайтом? Или должна ли страница входа на веб-сайт? Должна ли страница входа использовать вызовы на стороне клиента или вызовы на стороне сервера?
-
Что на самом деле находится в токене oAuth и как оно связано с моим сайтом? Должен ли я что-то делать на сервере после входа в систему через Facebook/Google? Могу ли я использовать этот токен на своем сервере, чтобы определить, какой пользователь зарегистрирован?
-
На нашем веб-сайте есть много баз данных, все равно, но в зависимости от того, какой пользователь входит в систему, зависит от того, из какой базы данных они могут просматривать данные. Легко ли это справиться с использованием стандартного метода/объектов в ASP.Net MVC? Или это заставит меня написать собственный код?
Любые советы также будут оценены!
Ответы
Ответ 1
Если вы планируете использовать MVC 5, вы можете использовать Identity Asp.Net.
Посмотрите здесь: http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
Надеюсь, это поможет вам.
Диего
Ответ 2
Ваш лучший выбор:
В этом разделе показано, как защитить веб-API с помощью OAuth2 для аутентификации против базы данных членства для локального и социального входа
http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api