我将$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实例
有什么建议吗?
发布于 2011-09-17 00:04:06
您必须将电子邮件存储在会话中。LightOpenID不存储任何内容。您必须重做整个身份验证,以便仅从身份中检索电子邮件地址。
所以,大概是这样的:
if($openid->validate()) {
$attributes = $openid->getAttributes();
$this->session->set_userdata('open_id', $openid->identity);
$this->session->set_userdata('email', $attributes['email']);
}https://stackoverflow.com/questions/7425440
复制相似问题