2 ответов:
При работе с аутентификацией и обеспечением безопасности вашего веб-API я рекомендую вам следовать рекомендациям, установленным Домиником Байером. Не может быть лучшего эксперта по этому вопросу. ASP.NET управление идентичностью в мире.
Вы можете найти его блог по адресу http://leastprivilege.com/ и отличный пакет идентификации Web API в Nuget, Thinktecture.IdentityModel - http://nuget.org/packages/Thinktecture.IdentityModel Как и в большинстве хороших библиотек с открытым исходным кодом, поскольку вся функциональность доступно для вашего бесплатно, нет необходимости изобретать велосипед.
Это библиотека управления идентификацией и доступом сверху вниз для .NET 4.0 / WIF и .NET 4.5 (включая поддержку MVC и Web API).
Если вы хотите узнать больше о защите вашего веб-API, вы также должны посмотреть это видео http://vimeo.com/43603474 - выступление Доминика из NDC Oslo 2012.
Подобные вопросы очень "открыты", все зависит от требований вашего проекта. Если вы хотите безопасности, вы должны рассмотреть комбинацию различных мер безопасности.
Возьмите HTTPS в сочетании смногофакторной аутентификацией . Примером может служить аутентификация сертификата клиента (закрытый ключ, хранящийся на донгле) и обычная аутентификация (имя пользователя/пароль). Это гарантирует вам, что даже если злоумышленник заполучит имя пользователя и пароль, он этого не сделает. иметь возможность доступа к приложению без аппаратного ключа. И наоборот, даже если аппаратный токен будет украден, он будет бесполезен без знания имени пользователя и пароля.
Это может быть несколько хороших записей в блоге, чтобы вы начали:
- обеспечения безопасности веб ASP.NET АФИ
- закрепление ASP.NET WebAPI с использованием клиентских сертификатов
И даже если это относится к web в целом, вы должны прочитать OWASP Top 10 для разработчиков .NET , прежде чем продолжить что-либо еще.