Аутентификация с помощью OAuth и ASP.NET MVC WebAPI

#asp.net #asp.net-mvc #facebook #asp.net-web-api #oauth

#asp.net #asp.net-mvc #Facebook #asp.net-веб-api #oauth

Вопрос:

Мы планируем начать разработку нашего нового сайта с ASP.Net , MVC и AngularJS. У меня также будет WebAPI, с которым я хотел бы использовать аутентификацию OAuth, потому что его легко передать в токене, плюс, возможно, захочется разрешить пользователям входить в систему с помощью Google, Facebook и т.д. В будущем.

Вопросы

  1. Если я хочу использовать OAuth в своем WebAPI (который является отдельным приложением), какой метод аутентификации я должен использовать для своего asp.net Веб-сайт MVC? OAuth? Формы? Оба? И как вы это реализуете? В моем API я написал простой поставщик OAuth, который запрашивает имя пользователя и пароль и возвращает строку токена.

  2. Должен ли мой WebAPI иметь единый вход на странице входа для взаимодействия с веб-сайтом? Или страница входа должна быть на веб-сайте? Должна ли страница входа использовать вызовы на стороне клиента или сервера?

  3. Что на самом деле находится внутри токена OAuth и как он ссылается на мой веб-сайт? Должен ли я что-то делать на сервере после входа в систему через Facebook / Google? Могу ли я использовать этот токен на своем сервере, чтобы определить, какой пользователь вошел в систему?

  4. На нашем веб-сайте есть много одинаковых баз данных, но в зависимости от того, какой пользователь входит в систему, зависит, из какой базы данных он может просматривать данные. Легко ли с этим справиться, используя стандартный метод / объекты в ASP.Net MVC? Или это заставит меня писать свой собственный код?

Также будем признательны за любые советы!

Комментарии:

1.Я не уверен, что это помогает, но я использовал OAuth с MVC и azure mobile services для Code Camp в Силиконовой долине, и все прошло довольно хорошо.slideshare.net/peterkellner99/oauth-36039477 meetup.com/BayNET/events/185540132

2. это должно очень помочь bitoftech.net/2014/07/16 /…

Ответ №1:

Если вы планируете использовать MVC 5, вы могли бы использовать 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