Я использую LightOpenID, и я пытаюсь получить атрибуты для этой проверки подлинности gmail, но он, похоже, ничего не возвращает в моей личной учетной записи, и я не получаю никаких ошибок. Я очень новичок в OpenID и надеялся, что кто-то сможет мне помочь, кто это сделал раньше.Получение атрибутов от GMail - Аутентификация OpenID
Я с указанием полей на validate()
и возвращение их с process()
Я использую URL OpenID: https://www.google.com/accounts/o8/id
public function show() {
if ($this->site->tru->post->isRequest() || !$this->site->tru->get->isEmpty('openid_mode')) {
require_once $this->site->tru->config->get('root.path').'/lib/php/openid.php';
$this->lightOpenId = new LightOpenID;
if ($this->validate() || $this->lightOpenId->validate()) {
$this->process();
}
}
$this->site->addCss('account/login.css');
$this->site->addJs('account/login.js');
echo $this->site->tru->display->getTemplate('/site/account/login.tpl');
}
public function process() {
if ($this->lightOpenId->validate()) {
echo '<pre>'.print_r($this->lightOpenId).'
'.print_r($this->lightOpenId->getAttributes()).'</pre>';
}
}
public function validate() {
if (!$this->site->tru->post->isEmpty('openid_url')) {
$this->lightOpenId->identity = $this->site->tru->post->get('openid_url');
$this->lightOpenId->optional = array('contact/email', 'namePerson', 'contact/postalCode/home', 'contact/country/home');
header('Location: '.$this->lightOpenId->authUrl());
}
return count($this->error) == 0;
}
А ... Я вижу. Благодаря! – Webnet
Собственно, 'contact/country/home' не работает ... – Webnet
@Webnet: Действительно, кажется, что он не работает. Моя информация была основана на странице [Google Federated Login] (http://code.google.com/apis/accounts/docs/OpenID.html), поэтому я предположил, что информация будет правильной. – Mewp