| 제목 | 페이스북 계정으로 로그인 할 경우 세션 데이터 문제 | ||
|---|---|---|---|
| 글쓴이 | SMINT | 작성시각 | 2011/12/05 23:43:12 | 
| 
                         | 
                |||
| 
                        현재 사이트에서 페이스북 계정으로 로그인하는 기능을 구현했는데요, 로그인 했을 경우 사용자 세션 데이터 추가가 안되고 있습니다. 즉 db->set_userdata가 전혀 안되고 있어요. http://stackoverflow.com/questions/1610231/codeigniter-is-my-custom-session-data-being-stripped-by-facebook 
http://www.philsbury.co.uk/blog/code-igniter-sessions http://rizwaniqbal.com/codeigniter-sessions-suck/ 
                        
                    해외에도 유사한 사례가 있어서 구글링을 해봤는데, 해결하기가 쉽지 않네요. (위에서 언급한 config 수정은 모두 해봤습니다 ㅠ) 현재 CI 2.0.3을 사용하고 있습니다. 혹시 관련된 경험 있으신 분 계신가요? ㅠ  | 
                |||
| 다음글 | sparks 라는 게 뭔가요? (3) | ||
| 이전글 | 서로다른 난수를 생성하려고 합니다 (5) | ||
| 
                             
                                세콩
                                /
                                2011/12/06 09:23:35 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                Lectom
                                /
                                2011/12/13 11:47:04 /
                                추천
                                0
                             
                            
                                 흠, 저같은 경우는 좀 편법이긴 한데, 페이스북에서 정보를 다시 받아서 재 세팅하는 방법으로 하고 있습니다. 이 경우에도, 새션 아이디 생성같은건 안되긴 하는데요.  
                        
$newdata = array(
        'user_id'  => $item->id,
        'email'    => $item->email,
        'logged_in' => TRUE,
        'user_name'=> $item->username,
        'fb_id'=> $item->fb_id,
        'fb_token_time'=> time()+$fb_token_exist-10,
        'fb_token'=>$access_token );
      if ($item->tweet_oauth_token) {
       $tweet_token=array( 'access_key' => $item->tweet_oauth_token, 'access_secret' => $item->tweet_oauth_secret);
       $newdata["twitter_oauth_tokens"]=$tweet_token;
      }
      $this->session->set_userdata($newdata);그니까 로직으로 따지면. 페이스북 로그인 요청 -> 페이스북 아이디값 확인 -> 회원 DB와 비교 -> 일치할 경우, 해당 값으로 세션 재 생성. 이 되겠습니다... | 
                    
| 
                             
                                SMINT
                                /
                                2011/12/13 15:04:15 /
                                추천
                                0
                             
                            
                                세콩님// 
                        그렇게 셋팅을 해놨었는데 안되더라고요 ㅠ Lectom님// 아, 그런 방법이 있었군요 ㅋ 저희는 결국 또다른 편법으로 문제를 해결했습니다 ㅠ 흙흙  | 
                    
| 
                             
                                Lectom
                                /
                                2011/12/13 19:43:07 /
                                추천
                                0
                             
                            
                                 SMINT 님 // 
                        오호홋... 어떻한 방법이 있나요? +_+..... 편법.... ㅋ  | 
                    
config 값에서 session사용시 DB를 쓰겠다는 설정을 안해줘서 세션 저장이 안되는 경우가있었어요 application / config 에서 이값설정해주셨는지 확인해보세요
오늘도 즐거운 코딩 되시구여~~