Я пытаюсь ограничить доступ к контроллерам / действиям, которые представляют API моего веб-сайта. API могут использовать только зарегистрированные пользователи, которые соответствуют определенным критериям (платные аккаунты, а не бесплатные пробные версии). В настоящее время веб-сайт поддерживает аутентификацию на основе форм, когда пользователи входят в систему, используя комбинацию имени пользователя / пароля или открытый идентификатор
Как бы пользователи проходили аутентификацию с помощью API? API изначально будет использоваться мобильными приложениями (iphone, droid). Моя главная задача - поддержка открытых идентификаторов в мобильных приложениях.
Мои мысли о доступных опциях:
- Поддержка имени пользователя / пароля и открытого идентификатора. Не уверен, насколько хорошо приложения iphone / droid могут поддерживать аутентификацию openid.
- Поддержка только имени пользователя / пароля - вынуждает пользователей OpenId создавать un / pwd для api - Bad UX для пользователей OpenId
- Используйте API-токен - это беспокоит меня по двум причинам:
- Пользователи должны будут вручную ввести свой ключ API, который отстой с точки зрения UX
- Они могут легко распространять / делиться своими ключами API с другими пользователями, что приведет к разрушению отчетов / метрик.
- Что-то еще, что я пропустил?