異常描述
我使用帳號 A 登入授權以後,擷取到帳號 A 的資訊,然後退出。
再使用另一個帳號 B 登陸授權以後,擷取的資訊依然是帳號 A 的資訊。
但過上一段時間(無法確定多久時間),再使用帳號 B 登陸授權,可以擷取帳號 B 的資訊,再退出。
再使用帳號 A 登陸,擷取的資訊依然是帳號 B 的資訊,這是怎麼一回事情啊?
測試地址: http://www.euask.com/oauth/google.php
setAuthConfigFile('client_secrets.json');$client->setRedirectUri('http://www.euask.com/oauth/google.php');$client->setScopes(array( 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.login', 'https://www.googleapis.com/auth/plus.me'));// $client->addScope(Google_Service_Oauth2::USERINFO_EMAIL);$plus = new Google_Service_Oauth2($client);if (isset($_REQUEST['logout'])) { session_unset();}if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); $redirect = 'http://www.euask.com/oauth/google.php'; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));}if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); $me = $plus->userinfo->get(); $id = $me['id']; $name = $me['givenName']; $email = $me['email']; $profile_image_url = $me['picture'];} else { $auth_url = $client->createAuthUrl();}?> "; print "Name: {$name}
"; print "Email: {$email}
"; print "Image: {$profile_image_url}
"; echo "Sign out"; } ?>
回複內容:
異常描述
我使用帳號 A 登入授權以後,擷取到帳號 A 的資訊,然後退出。
再使用另一個帳號 B 登陸授權以後,擷取的資訊依然是帳號 A 的資訊。
但過上一段時間(無法確定多久時間),再使用帳號 B 登陸授權,可以擷取帳號 B 的資訊,再退出。
再使用帳號 A 登陸,擷取的資訊依然是帳號 B 的資訊,這是怎麼一回事情啊?
測試地址: http://www.euask.com/oauth/google.php
setAuthConfigFile('client_secrets.json');$client->setRedirectUri('http://www.euask.com/oauth/google.php');$client->setScopes(array( 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/plus.login', 'https://www.googleapis.com/auth/plus.me'));// $client->addScope(Google_Service_Oauth2::USERINFO_EMAIL);$plus = new Google_Service_Oauth2($client);if (isset($_REQUEST['logout'])) { session_unset();}if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); $redirect = 'http://www.euask.com/oauth/google.php'; header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));}if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); $me = $plus->userinfo->get(); $id = $me['id']; $name = $me['givenName']; $email = $me['email']; $profile_image_url = $me['picture'];} else { $auth_url = $client->createAuthUrl();}?> "; print "Name: {$name}
"; print "Email: {$email}
"; print "Image: {$profile_image_url}
"; echo "Sign out"; } ?>