什么是Twitter中的OAuth
oauth_token_secret当我从Twitter获取访问令牌,我得到类似如下:什么是Twitter中的OAuth
oauth_token=14410002-F5Bi8hMpQbXamM8MBBw8zw2LYIBL4FEBvxLZfaSwX&oauth_token_secret=K8QNvDcC2f9qtGU8tfa75exwLZ2Sc1jeHrThnk6Co&user_id=14410002&screen_name=blueonion
什么oauth_token_secret?这是用来签署受保护请求的,还是仍然使用的consumer_key。
简短的答案是:oauth_token
和oauth_token_secret
既弥补其用于签署请求请求令牌。
这里有一些资源,这可能会帮助:(ESP第6节)
- the OAuth specification
- Twitter Single-user OAuth with Examples
- The terminology part of the OAuth guide
这不是消费者的关键。消费者密钥仅用于识别消费者(=调用Twitter的代码),而请求令牌绑定给用户。 Request Token包括一个公共部分和一个秘密部分,它们都用于签署请求,如第9节中的说明所述。
但是您可能想使用其中一个库并查看示例。
果然,在9.2节中我正视着我。我一直“看”消费者秘密,并跳过令牌秘密。 OAuth规范是一个非常简单的阅读,我仍然设法跳过它。谢谢。 顺便说一句,我发现你并不需要的token_secret在Twitter上获得访问令牌。可能是一个错误,这是我怀疑的原因造成了我的困惑。 – 2010-01-03 15:14:43
这其实是一个很好的问题,因为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的一样。
在我的网站我开发的Twitter的OAuth之前,我开发的任何其他的OAuth 1.0服务提供商的身份验证和我不能找出原因,甚至需要一个oauth_token_secret。有一次,我尝试了相同的代码了对雅虎和LinkedIn我有一个讨厌的冲击,因为这对于Twitter的工作相同的代码没有对其他服务提供商合作(即我使用上空时,我应该使用第二片断已经在第一个片段)
嘿,测试过。还是这样! ;)你有没有在twitter上报告过它? – sebilasse 2016-12-26 17:08:28
我发现了规范和尽职尽责地阅读。我错过了部分oauth_token_secret,部分原因是该规范将其称为“令牌秘密”。你的暗示是,我没有在提问之前尽力去尝试是没有根据的,在这里也不合适。 – 2010-01-03 15:17:26