brunch

You can make anything
by writing

C.S.Lewis

by 갱그리 May 04. 2016

Wordpress-kakao 로그인
연동 오류 해결

5/4 개발일기

워드프레스 블로그도 관리하고 있어서, 여기에도 소셜 로그인을 붙여야 하는 일이 있었다. 기본적으로 워드프레스는 플러그인도 레퍼런스도 많기 때문에 별 걱정이 없었는데 의외로 카카오 로그인 연동할 때 오류가 발생했다. 한글로 닉네임이 설정된 사용자로 로그인할 경우 "cannot create a user with an empty login name" 라는 오류가 발생한다.


**기본적으로는 아래 블로그를 참고하여 따라했다.


여러모로 시도해보니, Wordpress Social Login 플러그인의 로직 때문이었다. 카카오 쪽에서는 사용자 이메일을 주지 않는데, Wordpress에서는 회원가입 시 사용자 이메일 부분이 필수다. 그래서 Wordpress Social Login 플러그인 내부에서 이메일이 공란인 경우 provider name + "user" + "사용자 닉네임"@example.com 이라는 형식으로 이메일 주소를 파싱해 넣어주고 있었다. 


예컨대 카카오로 "갱"이 로그인하면, "kakao_user_갱@example.com" 인 식으로. 

그러다보니 파싱할때 한글 유저인 사람인 한글이 email계정으로 들어가버려서 오류가 떨어졌던 것.


위 블로그에서 제공하는 kakao.php 에 아래와 같이 간단하게 넣으면 해결된다. 이렇게 하면 display name 대신 숫자로 넘겨주는 kakao user id로 이메일 계정을 생성하게 된다.

$kakao_user_id = $data->id; 
$this->user->profile->email = "kakao_user".$kakao_user_id."@example.com";
매거진의 이전글 [Spring] facebook Login 간편구현
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari