0
實現OAUTH時,存在以下問題。在創建簽名庫時,是否應對編碼後的參數重新進行編碼,或者在對參數進行規範化時,是否應將編碼參數排除在編碼之外?OAUTH參數編碼
實現OAUTH時,存在以下問題。在創建簽名庫時,是否應對編碼後的參數重新進行編碼,或者在對參數進行規範化時,是否應將編碼參數排除在編碼之外?OAUTH參數編碼
看來你需要申請雙編碼,當我閱讀文檔:
例如,HTTP請求:
POST /request?b5=%3D%253D&a3=a&c%40=&a2=r%20b HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Authorization: OAuth realm="Example",
oauth_consumer_key="9djdj82h48djs9d2",
oauth_token="kkk9d7dh3k39sjv7",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="137131201",
oauth_nonce="7d8f3e4a",
oauth_signature="djosJKDKJSD8743243%2Fjdk33klY%3D"
c2&a3=2+q
包含在 簽名底座採用以下(全解碼)參數刺痛:
+------------------------+------------------+
| Name | Value |
+------------------------+------------------+
| b5 | =%3D |
| a3 | a |
| [email protected] | |
| a2 | r b |
| oauth_consumer_key | 9djdj82h48djs9d2 |
| oauth_token | kkk9d7dh3k39sjv7 |
| oauth_signature_method | HMAC-SHA1 |
| oauth_timestamp | 137131201 |
| oauth_nonce | 7d8f3e4a |
| c2 | |
| a3 | 2 q |
+------------------------+------------------+
注意, 「B5」 的值爲 「=%3D」,而不是 「==」。「c @」和 「c2」都具有空值。雖然爲構造簽名庫 字符串而在此 規範中指定的編碼規則排除使用「+」字符(ASCII碼43)至 表示編碼空格字符(ASCII碼32),但此練習 爲廣泛用於「應用程序/ x-www-form-urlencoded」編碼值, 和務必正確解碼,如參數實例之一所示(在此 請求中使用了兩次「a3」參數) 。
是的我的意思是網址編碼。 – TheGuest