1

$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吗?

有什么建议么?

4

1 回答 1

0

您必须将电子邮件存储在会话中。LightOpenID 不存储任何内容。您必须重做整个身份验证才能仅从身份中检索电子邮件地址。

所以,这样的事情:

if($openid->validate()) {
    $attributes = $openid->getAttributes();
    $this->session->set_userdata('open_id', $openid->identity);
    $this->session->set_userdata('email', $attributes['email']);
}
于 2011-09-16T16:04:06.297 回答