Реализация веб-API с OAuth и одностраничным приложением

Мы'повторная разработка API и одностраничного приложения (это один из возможных будущих потребителей).

Мы уже начали работу с веб-API и в основном внедрили систему, очень похожую на ту, которую Джон Папа сделал в своем курсе по множественному освещению под названием "Создание одностраничных приложений (SPA) с использованием HTML5, ASP.NET Web API, Knockout и jQuery ».

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

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

Как вы можете догадаться, мы начинающие разработчики.

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

Наш вариант использования заключается в том, что нам необходимо защитить некоторые ресурсы в нашем API на основе ролей, чтобы можно было входить в систему с использованием имени пользователя и пароля, а также входить в систему с использованием учетной записи Facebook, Google или Twitter.

Ответы на вопрос(3)

ПосмотриВот - Identity Server сделан экспертами по безопасности. Это все, что вам нужно в одной упаковке.

С точки зрения OAuth вам нужно будет использовать поток веб-приложений на стороне клиента, токен доступа которого немедленно выдается клиенту и может использоваться.

Решение Вопроса

выполняя аутентификацию по API (отдельная часть MVC). Затем API генерирует уникальный токен и перенаправляет пользователя на внешний интерфейс с токеном в параметрах URL.

Затем клиент должен отправить этот токен при каждом последующем запросе.

 uriDium24 сент. 2013 г., 08:30
Мы делаем то же самое. Быстрый вопрос, хотя. Был ли ваш логин частью SPA или у него было отдельное представление ASP.Net MVC?
 Kenneth Lynne21 нояб. 2013 г., 10:55
Мы решили это следующим образом: перенаправить из MVC в Angular login-returnUrl с токеном в параметрах url, сохранить его и использовать перехватчики ответа Angulars, чтобы добавить его ко всем последующим запросам к API.

Нашел интересную беседу на эту тему здесь:https://vimeo.com/43603474 по имени Доминик Байер - Защита веб-API ASP.NET.

конспект: MicrosoftНовая платформа для написания веб-сервисов RESTful и веб-API, соответственно, называется ASP.NET Web API. Как следует из названия, эта технология является частью ASP.NET, а также наследует свою известную архитектуру безопасности. Но кроме того, он также поддерживает ряд новых точек расширения и гибкую инфраструктуру хостинга вне IIS. Существует несколько способов выполнения аутентификации и авторизации в Web API - от Windows до имен пользователей и паролей, до аутентификации на основе токенов и всего, что между ними. В этом докладе рассматриваются различные варианты и особое внимание уделяется таким технологиям, как утверждения, SAML, OAuth2, простые веб-токены и делегирование.

Ваш ответ на вопрос