Что такое 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.
Ответы
Ответ 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, у меня был неприятный шок, поскольку тот же код, который работал на твиттер, не работал на других провайдерах услуг (т.е. я использовал первый фрагмент выше, когда я должен был использовать второй фрагмент )