我的那組是一個$userid
餅乾碼一點點,然後重定向如下:Cookie被重定向後未定義移動Safari瀏覽器
$userid = $_GET['userid'];
setcookie('userid',$userid,time() + (864000 * 7), '/');
header("Location: https://coinbase.com/oauth/authorize?response_type=code&client_id=$clientid&redirect_uri=$redirecturi");
這工作得很好。如果在設置後回顯$_COOKIE['userid']
,則會顯示用戶標識。到現在爲止還挺好。
重定向到Coinbase OAuth頁面,用戶必須登錄並允許我的站點訪問他們的錢包。流程Coinbase將用戶重定向到$redirecturi
,該頁面與設置的Cookie代碼位於同一頁面。
然後,我使用$_COOKIE['userid']
來確定哪個用戶完成了身份驗證過程並存儲了從Coinbase收到的數據。另外,我會檢查是否設置了$_GET['code']
,因此代碼的兩部分是分開的(我不是不小心將$_GET['userid']
設置爲cookie)。
網址示例:
腳本位置:http://example.com/dev/startcoinbase.php?userid=abcdef
網址供用戶選擇:http://example.com/dev/startcoinbase.php?userid=abcdef
從Coinbase重定向:http://example.com/dev/startcoinbase.php?code=code
真正奇怪的是,我的代碼工作得很好,當在iOS應用程序的UIwebview中,在Chrome和FF桌面上運行,但不在移動Safari瀏覽器中運行(即使應用程序webviews使用相同的引擎?!)。
任何幫助將不勝感激!
一個域名是www。前綴和其他不是..愚蠢的錯誤,但感謝您指出它! – Andre 2015-02-23 13:29:55
沒問題!嘗試始終堅持使用「www」或「non-www」的一個域名。不要混用它。它對谷歌和SEO的東西有很大的影響:) – Forien 2015-02-23 13:31:27