我正在做一個OpenID /的oauth2登錄的#。我用這個登錄的東西非常接近結束遊戲,我聞到勝利即將到來。在我的谷歌的oauth2授權請求回調URL
我想我擠兩個問題合而爲一。
我做的授權請求是這樣的:
if (!isset($_REQUEST['code']))
{
$login_path = "https://accounts.google.com/o/oauth2/auth?";
$login_path .= "redirect_uri=" . $redirect_uri;
$login_path .= "&response_type=token";
$login_path .= "&client_id=" . $client_id;
$login_path .= "&approval_prompt=force";
$login_path .= "&scope=" . $scope;
$login_path .= "&access_type=online";
$login_path .= "&state=".base64_encode(strtr("cid=fffffff1", '-_,', '+/='));
echo "<a href='" . $login_path . "'>login</a>";
}
注意最後附屬物login_path串,在那裏我送一些base64encoded狀態參數。
當用戶授權Google授予我的應用程序權限以查看其身份後,它將用戶傳輸到我的回調網址,並且它似乎將url變量附加到回調網址。這些變量包括我的狀態參數,我很高興。
什麼我不開心的是與一個界定查詢字符串的開頭是,而是使用#標籤,「#」,因此字符串看起來像這樣「?」:
http://www.talqo.com/oauth2callback.php#state=Y2lkPWZmZmZmZmYx&access_token=ya29.AHES6ZQ4LB22t7z0Wc8-5uACj_suJ8WnQJxKq9ICdvYT&token_type=Bearer&expires_in=3600
(我改變了一些字符在上面的access_token,萬一有某種安全問題的?)
所以,你看緊隨oauth2callback.php是一個「#」。我無法分析GET變量。
而在問題2) weaseling如果你能回答這個問題,我有一個後續問題,這是我沒有收到我的最終授權請求的ID,而是越來越
{ "error" : "invalid_request" }
但是,我正在獲取其他access_token,id_token,token_type和expires_in。