OAuth автоматическое согласие доверенного ключа потребителя - PullRequest
2 голосов
/ 09 июня 2011

Я пишу веб-приложение «B», которое через REST API взаимодействует с другим веб-приложением «A», которое я написал и которым управляю.Я хотел бы, чтобы пользователь, вошедший в систему A, мог выполнять действия над B, использующие API для связи с A. Мой лучший вариант выглядит как OAuth, но я хочу, чтобы взаимодействие было беспроблемным, а OAuth требует, чтобы пользовательсогласие до выдачи токена доступа.

  1. Является ли OAuth хорошим решением для этой ситуации?Есть ли лучшая альтернатива?
  2. Если я использую OAuth, могу ли я предварительно авторизовать согласие, доверяя ключу потребителя?

Ответы [ 3 ]

1 голос
/ 09 июня 2011

Вы можете сделать XAuth, который является расширением OAuth. Он использует те же принципы маркеров и секретов запроса / доступа, но позволяет вам обменять комбинацию имени пользователя и пароля на токен доступа.

Мы используем это как:

  1. Пользователь входит в наше приложение для iPhone
  2. iPhone создает запрос токена запроса OAuth, а также отправляет имя пользователя + пароль по HTTPS
  3. Проверка запроса (секреты и т. Д., + Имя пользователя / пароль), создание токена запроса и обмен токена запроса на токен доступа. (Этот шаг полностью выполняется на сервере, поэтому сервер выполняет обмен).
  4. Токен доступа возвращается пользователю
  5. Приложение iPhone использует обычный протокол OAuth + токен доступа для связи с сервером

Точно так же Twitter делает это для приложений, которые не допускают простой страницы аутентификации OAuth.

0 голосов
/ 07 февраля 2015

Взгляните на поток учетных данных клиента oauth2.

0 голосов
/ 22 июня 2011

Эран Хаммер-Лахав говорит ,

Пользователь должен контролировать свои ресурсы, но если это всего лишь один случай, когда один поставщик распределен по нескольким доменам, яне вижу никакого вреда в пропуске предоставления доступа клиенту, который по сути принадлежит той же организации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...