Я получаю смешанные сигналы в Интернете относительно предпочтительных механизмов аутентификации/авторизации REST API, особенно для мобильных приложений.Каково нынешнее состояние мудрости для защиты REST API?
- Существует OAuth 1.0, но, как утверждается, он более сложный, чем он должен быть, и не слишком хорошо поддерживает родные клиенты (обратные URL-адреса очень ориентированы на браузер). С другой стороны, есть один крупный поставщик, который его поддерживает (Twitter).
- Тогда есть OAuth 2.0, который должен быть улучшен более чем на 1.0, и он избавляется от криптографии на стороне клиента в нем по умолчанию (заменяется токенами-носителями), но некоторые люди считают, что it's broken by design и bearer tokens are no better than cookies. SSL-сертификат от отрывочного провайдера легче обмануть мобильного клиента, полагая, что конечная точка является доверенным органом. Однако два основных поставщика (Google и Facebook) поддерживают его.
- И есть люди, которые advocate sidestepping the whole mess and rolling your own.
Так что это?
URL-адреса обратного вызова в OAuth 1 вполне могут быть заменены методом OOB (который также поддерживает Twitter). Кстати, OAuth 2 также использует обратные вызовы, хотя он также предлагает аутентификацию с использованием имени пользователя и пароля (что также реализует реализация OAuth 1 Twitter). –
Не конструктивна? В самом деле? *В самом деле?* –