Мы создаем RESTful API с использованием WCF (в настоящее время .Net 3.5, но скоро перейдем на .Net 4).У нас есть функциональная структура, но в настоящее время она не защищена.Он должен быть доступен из приложений .Net, а также для iOS, Android и веб-приложений.
Мы хотели бы использовать схему аутентификации HMAC, как описано здесь и здесь, но оба примера, похоже, распадаются при описании способа проверки хеша.В первом примере не описывается объект UserKeys (хеш-таблица?), А во втором примере отсутствуют методы GetUserKey на стороне клиента и сервера.
МожетКто-нибудь предоставит объяснение того, как "Пользовательский ключ" / токен генерируется / хранится / извлекается / используется в этих примерах, или предоставляет лучший пример (с исходным кодом, если возможно), как использовать авторизацию HMAC в службе RESTful WCF?
Редактировать: После дополнительных исследований мы определили, что нам нужно больше техники " Авторизация ", а не техники " Аутентификация " (семантика?).Мы внедрили базовую авторизацию и защитили API за SSL.Базовая Авторизация использует тот же заголовок "Авторизация" из веб-запроса, что и схема HMAC Аутентификация , но передает вместо имени токена строку имени пользователя: пароль, закодированную в Base64.Это позволило нам провести индивидуальную проверку пользователя по нашей базе данных, чтобы определить, есть ли у пользователя лицензия и соответствующие права доступа для доступа к желаемому методу API.
Мы, безусловно, готовы услышать другие варианты о том, каквыполнить пользовательскую проверку имени пользователя / пароля и другие методы защиты API.