2014-08-27 43 views
0

我正在實施/auth/authorize部分oAuth指令,這裏=>https://github.com/SciDevs/delicious-api/blob/master/api/oauth.md#authauthorize如何處理Delicious API授權重定向不正確處理現有的URL GET參數?

我想先說認證沒有問題,如果重定向uri我用於身份驗證是一個普通的URI這樣=>http://www.example.com。該API會以這種格式將我需要的代碼發回給我=>http://www.example.com?code=blablabla

但是,如果重定向URI具有GET參數,如下所示=>http://www.example.com?var1=abc&var2=def,則API將以這種格式發送回我需要的代碼=>http://www.example.com?var1=abc&var2=def?code=blablabla,這當然是錯誤的。

有沒有人遇到過這個問題?如果是,有沒有人解決這個問題?

+0

當您將redirect_uri值傳遞給其端點時,是否對您的redirect_uri值進行了URL編碼?如果是這樣,那麼我會說錯誤是他們自己的一部分,所以通過他們提供的任何渠道提交錯誤報告。 – CBroe 2014-08-27 14:31:54

+0

我試過你的建議,問題變得更糟!看來API無法處理編碼版本,無法識別網址。我猜這個API是一團糟,因爲Github上有很多開放的問題。 – Paolo 2014-08-28 04:36:57

回答

0

這更像是一個真正的解決方案,但它的工作原理。

由於我確實得到了代碼(或者更重要的是它的值),我只是從URL解析它。例如,使用上面我使用的示例,下面是我將要使用的$ _GET變量:

$ _GET ['var1'] ='abc'和$ _GET ['var2'] ='def?code = blablabla」

我會做的是:

list($var2, $code) = explode("?code=", $_GET['var2']); 

...我還是會得到我需要獲得訪問令牌的代碼。