2014-01-16 2 views
1

У меня есть приложение MVC4 и Im с использованием WebAPI 1, чтобы выставить его в другие приложения. Я хочу защитить его, используя oauth2. Пожалуйста, дайте мне достаточные уроки для использования oauth2.Закрепите мое приложение WebApi1 с помощью oauth2

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

Любой, пожалуйста, покажите мне подробный пример, который поможет мне сделать мое приложение MVC безопасным с помощью oauth2.

EDIT: У меня есть сервер ресурсов (мое приложение MVA4 webApi1). На самом деле то, что мне нужно, что я должен сделать мое приложение в качестве поставщика идентичности (поставщик услуг ) (который один обеспечивает авторизацию маркера и проверить его, когда клиентское приложение пытается получить к нему доступ) с помощью oauth2.

ответ

0

Пример будет слишком длинным, чтобы привести его сюда. Затем я сосредоточусь на основных шагах, и все недостающие детали находятся в отличной книге Pro ASP.NET Web API Security.

http://www.amazon.com/Pro-ASP-NET-Web-API-Security/dp/1430257822

соглашения о присвоении имен:

  • поставщика идентичности - приложение, которое может аутентифицировать пользователей
  • ресурсов сервера - приложение обнажая службы WebAPI (может быть такой же, как поставщик идентификационных данных)
  • клиентское приложение - приложение, которое хочет, чтобы вызвать Web API
  • владелец ресурса - пользователь, который использует клиентское приложение

Для начала, вам нужно решить, какой тип OAuth2 потока вы хотите реализовать.

  • authorization_code - конечные пользователи будут войти в клиентское приложение, используя веб-браузер с помощью сервера идентификации. Сервер идентификации предоставляет конечную точку маркера, которую клиентское приложение использует для получения токенов доступа .С помощью токенов доступа клиентское приложение вызывает сервер ресурсов, где WebAPI защищен OAuth2
  • имя пользователя пароль - клиентское приложение знает имена пользователей и пароли (а не запрашивает сервер идентификации для аутентификации пользователей) и может обменивать их на токенов доступа в сервере личных данных
  • client_credentials - нет никакого конечного пользователя, только клиентское приложение вызывает некоторые веб-API от имени себя

Все потоки в конечном итоге с клиентским приложением, имеющим маркер доступа. Маркер доступа затем передается в заголовке, а WebAPI на стороне сервера ресурсов защищен специальным атрибутом проверки подлинности, который устанавливает принципал для текущего запроса в соответствии с информацией, отправленной в заголовке.

Есть тонны деталей, но, к счастью, книга имеет полный пример, который использует библиотеку DotNetOpenAuth. Вы должны следовать примеру.

+0

Прошу всех предоставить мне бесплатные учебники, которые помогут это сделать. – Sudha

+0

DotnetOpenAuth является бесплатным, имеет бесплатную документацию и бесплатные примеры. –