2012-05-28 64 views
2

是否有任何方法可以將自定義參數傳遞給Foursquare,它將傳遞迴它的響應?Foursquare身份驗證,傳遞自定義參數

Facebook可以使用狀態參數傳遞的自定義參數:

https://www.facebook.com/dialog/oauth? 
    client_id=YOUR_APP_ID 
    &redirect_uri=YOUR_REDIRECT_URI 
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES 
    &state=SOME_ARBITRARY_BUT_UNIQUE_STRING 

的狀態參數應設置爲您唯一生成每個認證請求一些任意字符串。一旦用戶授權您的應用程序,該值將作爲參數傳回給您的redirect_uri,並且您應該檢查返回值是否與您在流程開始時傳入的值匹配。這通過確保傳入重定向是您啓動的身份驗證流程的一部分來防範跨站請求僞造。

Google也有狀態參數:

狀態
任何字符串
表示這可能是收到迴應的應用程序有用的任何狀態。 Google授權服務器往返於此參數,因此您的應用程序會收到它發送的相同值。可能的用途包括將用戶重定向到您站點中正確的資源,隨機數和跨站點請求僞造緩解。

這對使用Foursquare也是非常有幫助的。

+0

看起來你可以在Foursquare中傳遞狀態參數我將把這個問題留作參考,因爲在Foursquare API文檔中沒有提及它。 – fzf

回答

1

您可以在redirect_uri中指定不屬於註冊回調URL的其他URL參數,它們將在成功授權後通過。

+0

很高興在文檔(dev.foursquare.com)中看到這一點。我沒有看到任何提及。 – maxdec