2011-01-22 4 views
2

Я использую двухногий OAuth для API данных контактов Google и генерирующий токен по каждому запросу.API данных Google - двухъядерный повторный токен Token Token

Является ли целесообразным или следует хранить токен, чтобы повторно использовать его в следующий раз?

Также, как обнаружить устаревший токен?

Я использую python. (и клиентская библиотека Gdata Python).

Редактировать: Хорошо, я полагаю, маркер генерируется на стороне клиента с помощью encrpytion и не собирается со стороны сервера, поэтому вполне нормально генерировать токен для каждого запроса. Я прав ? и это означает, что токен никогда не изменяется для пользователя (если я не изменяю общий секрет) правильно?

ответ

8

Я думаю, что двухногий сценарий oauth не включает в себя создание жетонов. Токены требуются, когда пользователь участвует во взаимодействии (3-й этап), потому что пользователю требуется авторизация этого токена.

Пользователь не участвует непосредственно в двухстороннем oauth, поэтому нет авторизации токена и, следовательно, нет необходимости хранить и создавать токены.

В основном двухсторонний oauth означает, что вы, как потребитель, должны ЗАРЕГИСТРИРОВАТЬ запрос, который вы передаете провайдеру с вашим общим секретом ПОТРЕБИТЕЛЯ (о котором поставщик также знает), так что поставщик знает, WHICH потребитель делает запрос - это способ проверить, что это действительно ваше приложение, которое требует данных. Но поскольку пользователь (3-й этап) не участвует, поставщик не создает маркер, который вам не нужен, потому что он вам не нужен - вы просто получаете прямой доступ к данным, если поставщик поддерживает двухногий, и ваше приложение разрешено использовать эти данные.

Вот хорошая статья, которая может более подробно объяснить поток для двухногих и трехногих процессов.

http://hueniverse.com/2008/10/beginners-guide-to-oauth-part-iii-security-architecture/

Просто, чтобы добавить что-то в качестве заключения:

2-ноги OAuth является только метод аутентификации - потребитель аутентифицировать себя через подписание запроса с его секретным ключом (это проверяет, который потребитель действительно делает запрос).

3-legged oauth - это аутентификация и авторизация - аутентификация потребителя путем подписания запроса его секретным ключом, и он получает неавторизованный токен запроса, который затем должен быть разрешен пользователем, чтобы потребитель мог разрешить авторизованные запросы поставщику.

+1

вы можете различать 2 и 3 ножных oauth, проверяя, прошел ли токен. Если есть токен, то это 3 ноги, поэтому этот ответ получает мой голос. – iain

+1

эта ссылка очистила многие из моих сомнений. Благодарю. – iamgopal