Как получить уникальную идентификацию пользователя при входе в Gmail с помощью Zend Framework - PullRequest
3 голосов
/ 25 января 2011

Я реализовал oAuth Google, используя Zend Framework .Все, что я могу сделать прямо сейчас, - это аутентификация пользователя с использованием его идентификатора gmail и пароля , и после этого я показываю его Документы Google.Но как определить, является ли он старым или новым пользователем.

Что такое уникальная идентификация , которую Google предоставляет после входа в систему на нашем сайте.

Спасибо

$consumer = new Zend_Oauth_Consumer($oauthOptions);
if (!isset($_SESSION['REQUEST_TOKEN'])) {
$_SESSION['REQUEST_TOKEN'] = serialize($consumer->getRequestToken(array('scope' => implode(' ', $SCOPES))));
$approvalUrl = $consumer->getRedirectUrl(array('hd' => 'default'));
echo "<a href=\"$approvalUrl\"><H2>LOGIN WITH GOOGLE</H2></a>";
exit(0);}


if (!isset($_SESSION['ACCESS_TOKEN'])) {
if (!empty($_GET) && isset($_SESSION['REQUEST_TOKEN'])) {
    $_SESSION['ACCESS_TOKEN'] = serialize($consumer->getAccessToken($_GET, unserialize($_SESSION['REQUEST_TOKEN'])));}
}}
$accessToken = unserialize($_SESSION['ACCESS_TOKEN']);unset($_SESSION['REQUEST_TOKEN']);unset($_SESSION['ACCESS_TOKEN']);

1 Ответ

2 голосов
/ 27 января 2011

Вы можете сохранить возвращенный идентификатор из Google в базе данных и при аутентификации (снова) искать его. Получить идентификатор как это:

$result = Zend_Auth::getInstance()->authenticate($adapter);
    if ($result->isValid()) {
        $identity = Zend_Auth::getInstance()->getIdentity();
// Do a database query on your users table looking for this $identity. If exists, they're logging back in
...