重新閱讀規範,似乎該規範的引用部分不適用於OAuth服務器對URI的處理,而是OAuth客戶端處理給定的原始端點URI。
在它的說法,如果我說,你有我的OAuth端點重定向到我的服務器的OAuth授權時使用換句話說就是:
http://example.com/oauth.php?endpoint=token
然後當客戶端添加?response_type=code&client_id=...&state=...&redirect_uri=...
到URI這是不允許丟棄在原有端點URI的「端點=令牌?」並且必須使用URI:
http://example.com/oauth.php?endpoint=token&response_type=code&client_id=...&state=...&redirect_uri=...
因此,至少就作爲規範的一部分去那裏什麼也沒有說, Facebook,谷歌等...必須預先提供除'狀態'之外的任何未知的查詢參數。
從技術上講,您可以使用&state=
參數以JSON格式傳遞自定義數據。雖然這可能會或可能不會工作。 IIRC我注意到,當您使用特殊字符時,Meetup的OAuth 2實現似乎破壞了狀態。我認爲是違反規範的東西。
我們結束了JSON編碼我們的自定義參數,並添加他們'狀態'的描述。與Facebook和Google合作良好。 –