我将$lightopenid->identity
存储在codeigniter会话中,如下所示:
$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
的新实例?
有什么建议吗?
答案 0 :(得分:0)
您必须将电子邮件存储在会话中。 LightOpenID不存储任何内容。您必须重做整个身份验证才能仅从身份中检索电子邮件地址。
所以,就像这样:
if($openid->validate()) {
$attributes = $openid->getAttributes();
$this->session->set_userdata('open_id', $openid->identity);
$this->session->set_userdata('email', $attributes['email']);
}