facebook 소셜 로그인시 토큰 에러 질문 채택완료
아직 웹 개발 초보자라 부족한 점이 많습니다 ㅠㅠ
***********************************************
페이스북 소셜 로그인 기능 로그인까지는 되는데 그 다음이 안됩니다.
'토큰 정보가 올바르지 않습니다' 라고 뜨는데요
plugin/oauth/facebook/callback.php 파일에서 찾아보니
굵은 빨간 줄만 보시면 됩겁니다.
$oauth = new FACEBOOK_OAUTH(G5_FACEBOOK_CLIENT_ID, G5_FACEBOOK_SECRET_KEY);
if($oauth->check_valid_state_token($_GET['state'])) {
if($oauth->get_access_token($_GET['code'])) {
if($oauth->check_valid_access_token()) {
$oauth->get_profile();
//var_dump($oauth->profile); exit;
if($oauth->profile->id) {
$email = $oauth->profile->email;
$info = get_oauth_member_info($oauth->profile->id, $oauth->profile->name, 'facebook');
if($info['id']) {
unset($member);
$member = array(
'mb_id' => $info['id'],
'mb_password' => $info['pass'],
'mb_email' => $email,
'mb_nick' => $info['nick'],
'mb_name' => $oauth->profile->name,
'mb_level' => 2,
'mb_point' => 0
);
set_session('ss_oauth_member_no', 'fcb_'.$oauth->profile->id);
set_session('ss_oauth_member_fcb_'.$oauth->profile->id.'_info', $member);
}
} else {
alert_close('서비스 장애 또는 정보가 올바르지 않습니다.');
}
} else {
alert_close('토큰 정보가 올바르지 않습니다.');
}
}
토큰 정보 에러가 뜨면
G5_FACEBOOK_CLIENT_ID, G5_FACEBOOK_SECRET_KEY 의 값이 유효하지 않아서인가요?
혹인 값이 달라서인가요?
그리고 $_GET['code']는 어디서 얻어오는 건가요?
답변 1개
알반적으로 인증과정이
client_id와 client_secret와 자체 state키를 생성해 인증페이지로 보내면
콜백url로 state와 code값을 주소창에 달고 즉 쿼리스트링 형태로 보냅니다.
그러면 $_GET['state']로 검증을 하고 $_GET['code']로 나머지 인증 작업을 끝내면
최종 access_token값을 얻게 됩니다.
제가 볼 때 정확한 사정은 모르겠지만
먼저 client_id와 client_secret값이 정확한 것인지 확인해 보시고
콜백페이지 주소창에 code값이 제대로 넘어 왔는 지 확인해 보시죠.
답변에 대한 댓글 2개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인