腾讯微博的OAuth问题...... - V2EX
fanzeyi
·
2011-07-27
·
via OAuth
 |
|
26
laiwei 2012 年 2 月 23 日
@fanzeyi @joyqi 我发现腾讯微博oauth签名的真正问题了 并不是urllib或者httplib的问题 而是计算basestring的计算方法有问题: 比如待签名的东西参数有: d = { oauth_callback : xxxx.com/sth oauth_consumer_key : 123456 oauth_nonce : 33333 oauth_signature_method : HMAC-SHA1 oauth_timestamp : 1234455667777 oauth_version : 1.0 } 首先把d按照key做一下sort d = sorted(d.items(), key=lambda x:x[0]) 其次,把参数和参数的值都做urlencode dd = [urllib.urlencode([x]) for x in d] 然后,把dd用&符号连接起来,再做一次urlencode(也就是quote) part3 = urllib.quote("&".join(dd)) 这里的关键就是说,这些参数前前后后,被quote了两次! 这样做,就ok了
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。