2011-09-15 3 views
1

나는 CodeIgniter의 세션에서 $lightopenid->identity를 저장하고 :LightOpenID - 저장된 세션에서 전자 메일을 검색하는 방법? 다음과 같이

  $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

보기 (http://stackoverflow.com/questions/3995011/log-in-the-user-with-lightopenid/3999068#3999068) – tttony

+0

ttony와 @jeff - 나는 게시하기 전에 그 질문을 보았지만, 여전히 광산이 속임수라고 생각하지 않는다. 링크 된 질문은 컨트롤러에서 codeigniter 세션을 통해 이메일을 검색해야하는 문제를 해결하지 못한다. 그것은 lightopenid 객체가 생성 된 객체가 아닙니다 *** – pepe

답변

0

세션에 이메일을 저장해야합니다. LightOpenID는 아무 것도 저장하지 않습니다. ID에서 전자 메일 주소 만 검색하려면 전체 인증을 다시 실행해야합니다. 그래서

, 그런 식 : [여기]

if($openid->validate()) { 
    $attributes = $openid->getAttributes(); 
    $this->session->set_userdata('open_id', $openid->identity); 
    $this->session->set_userdata('email', $attributes['email']); 
}