Php LightOpenID-如何从存储的会话检索电子邮件?
我正在codeigniter会话中存储Php LightOpenID-如何从存储的会话检索电子邮件?,php,codeigniter,openid,lightopenid,Php,Codeigniter,Openid,Lightopenid,我正在codeigniter会话中存储$lightopenid->identity,如下所示: $lightopenid = new Lightopenid; $lightopenid->required = array('contact/email'); if ($lightopenid->validate()) { $google_open_id = $
$lightopenid->identity
,如下所示:
$lightopenid = new Lightopenid;
$lightopenid->required = array('contact/email');
if ($lightopenid->validate()) {
$google_open_id = $lightopenid->identity;
$this->session->set_userdata('google_open_id', $google_open_id);
}
在控制器中的一个单独功能中,我希望检索用户的电子邮件
print_r($this->session->userdata('google_open_id'));
将显示身份链接,但如何从中检索电子邮件
我是否需要一个新的lightopenid
实例
有什么建议吗?您必须在会话中存储电子邮件。LightOpenID不存储任何内容。为了仅从身份中检索电子邮件地址,您必须重新执行整个身份验证 比如说:
if($openid->validate()) {
$attributes = $openid->getAttributes();
$this->session->set_userdata('open_id', $openid->identity);
$this->session->set_userdata('email', $attributes['email']);
}
看看ttony和@jeff-我在发布之前就看到了这个问题,但我仍然不认为我的问题是重复的-你链接到的问题没有解决需要通过codeigniter会话检索电子邮件的问题,在一个不是创建lightopenid对象的控制器中