我試圖訂購我的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