我试图订购我的HeaderParams以创建OAuth签名基础。字典键/值对的字典顺序的方法?
基于OAuth的认证文档说明此为命令他们:
http://tools.ietf.org/html/rfc5849#section-3.4.1.3.2
的参数按名称排序,使用上升字节值排序。如果两个或多个参数共享相同的名称,则按照它们的值排序。
因此,如果我有一个C#字典像这样的头部参数对,我该如何对OAuth进行排序呢? 。
更新:
我相信做一个parameterList.Keys.ToList()排序(); “应该”根据键(键名)按照升序对字典进行排序来完成我所需要的操作。
但它不工作,我看到了PARAMS失灵在这里打我的排序还是后:
oauth_consumer_key, H64HgpIU3bdA4M
oauth_token, rbh4gd0S5GfAXEAF2X
oauth_signature_method, HMAC-SHA1
oauth_timestamp, 1330534605
oauth_nonce, 4207386
它应该是:
oauth_consumer_key, H64HgpIU3bdA4M
oauth_nonce, 4207386
oauth_signature_method, HMAC-SHA1
oauth_timestamp, 1330534605
oauth_token, rbh4gd0S5GfAXEAF2X
那你的意思是的foreach(KeyValuePair <字符串,字符串>按排序对) – PositiveGuy 2012-02-29 19:12:12