2011-01-25 3 views
3

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

Что такое Уникальная идентификация 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']); 

ответ

2

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

$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 
+0

Благодарим вас за ответ. Это способ, когда мы даем имя пользователя и пароль непосредственно в адаптере. Но я реализую это, используя потребительские ключи Zend_Oauth_Consumer. С этим как я могу получить идентификацию пользователя. Я обновляю свой вопрос. –

+0

, пожалуйста, помогите мне с этим, поскольку это очень IMP для меня. –

+0

Это должно использоваться с открытым идентификатором. Полные примеры приведены в документах http://framework.zend.com/manual/en/zend.auth.adapter.openid.html – Ashley

Смежные вопросы