Что на самом деле является двуногим Oauth - PullRequest
5 голосов
/ 01 марта 2012

Я изучал OAuth версии 1.0 для REST API, над которым я сейчас работаю.

У меня есть 3 сценария аутентификации

  1. это включает в себя 3 стороны, поставщика услуг, потребителя и пользователя. Трехногий Оах соответствует этому сценарию.
  2. Участвуют 2 стороны, потребитель и поставщик услуг. Является ли это сценарием, в котором двухсторонний Oauth наиболее применим, и если да, то каков процесс, поскольку вряд ли есть разница между этим и базовой аутентификацией HTTP, основанной на моем понимании.
  3. Я также создаю особый тип пользователя, который всегда может получить доступ к данным текущего пользователя без авторизации пользователя. Как это может вписаться в картину при реализации OAuth.

Используя этот сценарий? как я могу аккуратно реализовать Oauth и как это может помочь мне понять трехсторонние и двухсторонние процессы Oauth?

1 Ответ

1 голос
/ 02 марта 2012

Номер 1: Правильно, просто используйте типичный трехсторонний поток oauth.

Номер 2. Двунаправленный oauth во многом аналогичен http-basic, за исключением того, что подпись oauth дает вам защиту противMITM-атаки (но если вы используете http-basic поверх TLS, вы получаете такую ​​же защиту).Процесс для двухстороннего oauth - это просто подписание запроса с ключом / секретным ключом потребителя, который является синонимом имени пользователя / пароля через http basic.

Number 3. Я не на 100% уверен в том, чтоВы имеете в виду здесь, но это звучит похоже на то, как Google использует 2-х сторонний oauth для доменов приложений Google.Посмотрите их документацию здесь: https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth

Вы изучали OAuth 2.0?Это все еще в черновике, но у него гораздо больше гибкости для разных сценариев.Может быть, что-то рассмотреть.http://oauth.net/2/

...