Подтвердить что ты не робот

Что такое oauth_token_secret в Twitter OAuth

Когда я получаю токен доступа из Twitter, я получаю что-то вроде следующего:

oauth_token=14410002-F5Bi8hMpQbXamM8MBBw8zw2LYIBL4FEBvxLZfaSwX&oauth_token_secret=K8QNvDcC2f9qtGU8tfa75exwLZ2Sc1jeHrThnk6Co&user_id=14410002&screen_name=blueonion

Что такое oauth_token_secret? Это то, что используется для подписи защищенных запросов или используется еще user_key.

4b9b3361

Ответ 1

Короткий ответ: oauth_token и oauth_token_secret оба составляют токен запроса, который используется для подписи запросов.

Вот некоторые ресурсы, которые могут помочь:

Это не потребительский ключ. Ключ потребителя используется только для идентификации потребителя (= код, который вызывает Twitter), в то время как токен запроса привязан к пользователю. Затем токен запроса состоит из публичной и секретной частей, которые оба используются для подписи запроса, как описано в спецификации в разделе 9.

Но вы, вероятно, захотите использовать одну из библиотек и посмотрите на примеры.

Ответ 2

на самом деле это действительно хороший вопрос, потому что twitter, похоже, нарушил стандарт oauth 1.0 по этому требованию. я случайно узнал, что если вы опустите oauth_token_secret из ключа подписи, то есть.

$signing_key = encode_rfc3986($consumer_secret).'&';

вместо

$signing_key = encode_rfc3986($consumer_secret).'&'.encode_rfc3986($oauth_token_secret);

при запросе маркера доступа оба будут работать одинаково для твиттера.

на моем сайте я разработал twitter oauth, прежде чем я разработал любую другую аутентификацию поставщика услуг oauth 1.0, и я не мог понять, почему oauth_token_secret был даже нужен. как только я попробовал тот же код на yahoo и linkedin, у меня был неприятный шок, поскольку тот же код, который работал на твиттер, не работал на других провайдерах услуг (т.е. я использовал первый фрагмент выше, когда я должен был использовать второй фрагмент )