什么是Twitter OAuth中的oauth_token_secret

Mik*_*ard 20 twitter oauth

当我从Twitter获得访问令牌时,我得到如下内容:

oauth_token=14410002-F5Bi8hMpQbXamM8MBBw8zw2LYIBL4FEBvxLZfaSwX&oauth_token_secret=K8QNvDcC2f9qtGU8tfa75exwLZ2Sc1jeHrThnk6Co&user_id=14410002&screen_name=blueonion
Run Code Online (Sandbox Code Playgroud)

什么是oauth_token_secret?这是用于签署受保护请求的内容还是仍然使用的consumer_key.

MrT*_*opf 15

简短的回答是:oauth_tokenoauth_token_secret两者组成了用于签署请求的请求令牌.

以下是一些可能有用的资源:

这不是消费者的关键.消费者密钥仅用于在请求令牌绑定到用户时识别消费者(=调用Twitter的代码).请求令牌由公共部分和秘密部分组成,它们都用于签署请求,如第9节中的说明中所述.

但是您可能想要使用其中一个库并查看示例.


mul*_*sen 9

这实际上是一个非常好的问题,因为twitter似乎打破了这个要求的oauth 1.0标准.我意外地发现,如果你从签名密钥中省略了oauth_token_secret,即.

$signing_key = encode_rfc3986($consumer_secret).'&';
Run Code Online (Sandbox Code Playgroud)

代替

$signing_key = encode_rfc3986($consumer_secret).'&'.encode_rfc3986($oauth_token_secret);
Run Code Online (Sandbox Code Playgroud)

在请求访问令牌时,两者对twitter都是一样的.

在我的网站上我开发了twitter oauth之前我开发了任何其他oauth 1.0服务提供商认证,我无法弄清楚为什么甚至需要oauth_token_secret.一旦我在雅虎和linkedin上尝试相同的代码,我有一个令人讨厌的冲击,因为相同的代码工作的Twitter没有在其他服务提供商工作(即我使用上面的第一个片段,当我应该使用第二个片段)