소셜로그인 플러그인
소셜서비스를 이용해 그누보드5에서 회원가입없이 바로 로그인처리되는 소셜로그인 플러그인입니다.
지원되는 서비스는 네이버, 카카오, 페이스북, 구글+ 입니다.
이 플러그인은 회원가입과는 연동되지 않습니다.
첨부된 플러그인 압축 파일을 다운로드 후 압축해제 후 각 폴더에 맞게 파일을 계정에 업로드하시며 됩니다.
단 login.skin.php 파일은 코드 예시를 위해 첨부된 것으로 파일을 덮어쓰게 되면 로그인 스킨이 변경되니
주의해주시기 바랍니다.
소셜로그인 버튼의 출력은 첨부된 login.skin.php 파일을 참고하셔서 현재 사용 중이신 login.skin.php 파일의
적당한 위치에 아래 코드를 추가해주시면 되며 css 수정은 style.css 파일에서 하시면 됩니다.
[code]
<?php
// 소셜로그인 버튼
include_once(G5_PLUGIN_PATH.'/oauth/login.skin.inc.php');
?>
[/code]
소셜로그인플러그인을 사용하기 위해서는 로그인 앱을 생성하셔야 하며 앱은 아래 각 서비스에서
직접 추가 생성하셔야 합니다.
페이스북 신청 url : https://developers.facebook.com/apps
구글 신청 url : https://console.developers.google.com
네이버 신청 url : https://nid.naver.com/devcenter/register.nhn
카카오 신청 url : https://developers.kakao.com/apps/new
앱생성 후 발급된 API 키 등의 정보를 extend/oauth.extend.php 파일에 설정합니다.
모든 서비스를 꼭 설정하셔야 하는 것은 아니며 사용하시려는 서비스만 설정하시면 됩니다.
앱설정 때 callback 또는 Redirect URL 은 아래의 예시와 같이 설정하셔야 합니다.
페이스북 : http://example.com/plugin/oauth/callback.php
구글+ : http://example.com/plugin/oauth/callback.php?service=google
네이버 : http://example.com/plugin/oauth/callback.php
카카오 : http://example.com/plugin/oauth/callback.php?service=kakao
지원되는 서비스는 네이버, 카카오, 페이스북, 구글+ 입니다.
이 플러그인은 회원가입과는 연동되지 않습니다.
첨부된 플러그인 압축 파일을 다운로드 후 압축해제 후 각 폴더에 맞게 파일을 계정에 업로드하시며 됩니다.
단 login.skin.php 파일은 코드 예시를 위해 첨부된 것으로 파일을 덮어쓰게 되면 로그인 스킨이 변경되니
주의해주시기 바랍니다.
소셜로그인 버튼의 출력은 첨부된 login.skin.php 파일을 참고하셔서 현재 사용 중이신 login.skin.php 파일의
적당한 위치에 아래 코드를 추가해주시면 되며 css 수정은 style.css 파일에서 하시면 됩니다.
[code]
<?php
// 소셜로그인 버튼
include_once(G5_PLUGIN_PATH.'/oauth/login.skin.inc.php');
?>
[/code]
소셜로그인플러그인을 사용하기 위해서는 로그인 앱을 생성하셔야 하며 앱은 아래 각 서비스에서
직접 추가 생성하셔야 합니다.
페이스북 신청 url : https://developers.facebook.com/apps
구글 신청 url : https://console.developers.google.com
네이버 신청 url : https://nid.naver.com/devcenter/register.nhn
카카오 신청 url : https://developers.kakao.com/apps/new
앱생성 후 발급된 API 키 등의 정보를 extend/oauth.extend.php 파일에 설정합니다.
모든 서비스를 꼭 설정하셔야 하는 것은 아니며 사용하시려는 서비스만 설정하시면 됩니다.
앱설정 때 callback 또는 Redirect URL 은 아래의 예시와 같이 설정하셔야 합니다.
페이스북 : http://example.com/plugin/oauth/callback.php
구글+ : http://example.com/plugin/oauth/callback.php?service=google
네이버 : http://example.com/plugin/oauth/callback.php
카카오 : http://example.com/plugin/oauth/callback.php?service=kakao
첨부파일
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 76개
혹시 나오시지 않으셨나요? ㅠ
검증되지 않았을 때 발생합니다.
구글은 승인된 리디렉션 URI 를 두개 설정해보세요
www.xxx.com
xxx.com 둘다 넣으세요.
카카오도 플랫폼 웹 설정으로 해서 도메인 redirect Path 설정만 잘해주면 됩니다.
페이스북 : http://example.com/plugin/oauth/callback.php
구글+ : http://example.com/plugin/oauth/callback.php?service=google
네이버 : http://example.com/plugin/oauth/callback.php
카카오 : http://example.com/plugin/oauth/callback.php?service=kakao
http://lyc0815.iptime.org/gnuboard5/plugin/oauth/callback.php?service=kakao
sns 시대인데 빌더에 합쳐도되지않나 싶어요~
그런데 페이스북에서 설정할 때 '앱 도메인'은 어떤걸 넣어야 하나요?
홈피주소나 말씀하신 Redirect URL를 넣으면 아래와 같은 메세지가 나오네요... ㅠㅠ
" 앱 도메인은 보안 캔버스 URL, 모바일 사이트 URL, Unity 이진 URL, 사이트 URL 또는 보안 페이지 탭 URL의 도메인과 일치해야 합니다. 다음 도메인을 수정하세요: "
기존아이디와 네이버로그인연동아이디가 별개의 아이디로 작동하네요.
네이버연동아이디로는 본인이 쓴 글 등이 확인 되지 않네요 ㅠㅠ
아무튼 감사합니다~
임시로 처리하는 것입니다. 당연히 기존 회원정보와는 연동이 전혀
되지 않기 때문에 게시글 등이 확인되지 않습니다.
게시글 설명에도 회원가입과는 연동되지 않는다고 안내하고 있습니다.
감사합니다~
G5_OAUTH_CALLBACK_URL 설정입니다.
그룹 등의 추가적인 권한이 필요한 경우는 callback.php 파일에서 권한을 직접 지정해주는
등의 코드 수정 작업을 직접 하셔야 합니다.
필수 입력 Redirect Path : /plugin/oauth/callback.php?service=kakao 입력하면 성공
감사합니다.ㅋㅋ
어쨌거나 감사합니다!!!!!!!
소셜 로그인 플러그인 자체가 안나오는데 왜이러는지 모르겠어요..
패스 경로가 엇갈려서 그런건지..
스마툴즈 빌더
http://sir.kr/g5_builder/2551#c_2574
이 플러그인은 그누보드5 배포판을 기준으로 개발됐습니다.
""서비스 장애 또는 정보가 올바르지 않습니다."" 라고 나오는데 다른분들은 잘 되시나요? ㅠㅠ
["authorize_url"]=> string(39) "https://kauth.kakao.com/oauth/authorize" ["token_url"]=> string(35) "https://kauth.kakao.com/oauth/token" ["profile_url"]=> string(33) "https://kapi.kakao.com/v1/user/me" ["profile"]=> NULL }
profile값을 받아오질 못하네요...
카카오 개발자쪽에서 뭔가 설정을 해줘야 하는 부분이 있는건가요 ㅡ.ㅜ
/plugin/oauth/kakao/oauth.lib.php 파일수정
[code]
function get_profile()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->profile_url);
curl_setopt($ch, CURLOPT_POST, 1);
// rido 원활하게 작동하지 않아서 추가됨
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$this->access_token));
$json = curl_exec($ch);
curl_close($ch);
if($json)
$this->profile = json_decode($json);
}
[/code]
카카오 개발자에서 검색하고 처리한부분에 주석처리 했습니다.
여기로 가라고 하셨는데.... 들어가서 어디로 가야하는것인가요?
질문이 있는데요.... 혹시 그누 처럼
메뉴 그룹 제목 사이에 │ 이건 어떻게 넣어야하나요?ㅎㅎㅎ
/plugin/oauth/undefined
......................
해결하신분?
이건왜이럴까요 ㅠㅠㅠㅠㅠㅠ....xampp로 개인 가상서버에서는 문제없이됬는대......
운영중인 사이트에 적용하려니까 ㅠㅠ이럽니다 ㅠㅠㅠㅠ
oauth.lib.php에 아래 메소드를 추가해주세요
function get_talk_profile()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://kapi.kakao.com/v1/api/talk/profile");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$this->access_token));
$json = curl_exec($ch);
curl_close($ch);
if($json)
$this->profile = json_decode($json);
}
callback.php에 $member = array() 끝나는 다음에 추가해주세요.
$oauth->get_talk_profile();
$member['mb_picture'] = $oauth->profile->profileImageURL;
프로필 이미지를 카카오톡 프로필로 직접 요청해서 가져옵니다.
페이스북 : http://example.com/plugin/oauth/callback.php
페이스북 설정중인데 이 항목을 어디에 입력해야하는지 못찾겠습니다 ㅜ.ㅜ
서비스 장애 또는 정보가 올바르지 않습니다.
오류가 자꾸 발생해서 이것저것 해보다보니 프로필 데이터 요청시 Request Entity Too Large 에러가 발생하고 있었습니다.
/plugin/oauth/kakao/oauth.lib.php 94라인에서
curl_setopt($ch, CURLOPT_POST, 1);
을 0으로 변경해주고 해결했습니다.
CURLOPT_POST 을 설정하셨는데
CURLOPT_POSTFIELDS 는 설정이 안되어 있어서 그럴지도 모르겠네요. 라고 남긴 답변이 있었는데, 해당 부분도 CURL 요청시 CURLOPT_POST는 true로 설정되어 있지만, 실제로 POSTFIELDS는 전송되지 않고, 헤더부분에서 oauth 토큰만 전송해서 서버에서 에러처리하는 문제가 아닐까 생각해봅니다.
페이스북 로그인을 하니 이렇게 에러가 뜨네요..
Fatal error: Call to undefined function curl_init() in C:\APM_Setup\works\dain_aesthetic\plugin\oauth\facebook\oauth.lib.php on line 67
phpinfo() 함수를 통해 curl 관련 모듈이 로드되어 있는지 확인하시고
로드되지 않았다면 curl 모듈을 로드해 주셔야 합니다.
"토큰 정보가 올바르지 않습니다."
[http://sir.kr/data/editor/1701/14ee9a9196989d5d0da95713e93182eb_1484270274_0836.png]
세션에 저장된 토큰 정보와 일치하지 않기 때문입니다.
PC에서는 되는데, 스마트폰 인터넷으로만 접속하면 문구가 뜨는데 해결방법이 있을까요?
[http://sir.kr/data/editor/1704/e712c7447406936da70d647bf2b6fb00_1491557305_602.png]
크롬 등의 브라우저에서는 정상작동하고 web view 방식의
앱에서는 이 플러그린을 사용할 수 없다는 뜻으로 봐야할 것 같습니다.
web view 등의 앱에서는 별도로 제작을 해야할 듯 합니다.
네이버랑 페이스북은 잘 되는데, 구글만 저런 오류메세지가 뜨네요..
점검해 볼 부분이 있을까요?
지금 솔소님의 민트테마를 사용중인데, 혹시 민트테마에서만 일어나는 고질적인 문제일 수도 있을까요?
p.s
아.. 참고로 v2 버전으로 적용하였습니다.
지금보니 이 게시물은 이전버전 게시물이네요..^^
이 부분은 구글에 문의를 해서 확인해 보셔야겠죠.
구글 측에 문의해야한다니.. 답변 감사합니다..ㅠㅠ
스마트폰 기본 인터넷브라우저 말고,
크롬 브라우저를 통해서 접속하니까 로그인이 됩니다.
왜 스마트폰 기본 브라우저로는 안되는 걸까요?
제 휴대폰이 이상한걸까요??
그 브라우저의 user agent를 구글에서는 web view 방식인
것으로 보고 차단하는 것 중 하나 일 겁니다.
제 스마트폰이 유별나게 이상한 설정이 되어있나봅니다..
감사합니다...^^
그런데, 네이버 로그인을 메인화면에서 노출시키기 위해 head.php 에서 아래와 같은 것은 넣었더니
로그인되면서 첨부파일처럼 인덱스화면으로 갑니다. 메인화면으로 정상적으로 가게 하려면
무엇을 추가해야 하는지요?
<?php
// 소셜로그인 버튼
include_once(G5_PLUGIN_PATH.'/oauth/login.skin_naver.inc.php');
?>
[http://sir.kr/data/editor/1706/ae51ad1ba981feea3dc46a75c2af9c57_1497570892_9177.png]
특정짓기 어렵기 때문에 답변이 어렵습니다. 직접 해결이 불가능하시다면
제작의뢰 등을 통해 개발자를 구하셔서 해결하셔야 합니다.
네이버 로그인 시 완료메세지 없이 아래와 같은 경로값만 나오고 끝납니다.
다시 사이트 접속해보면 로그인 되어 있구요
이런경우는 어떻게 완료 메세지 나오게 해야하나요
익스텐션에서 회원가입 및 회원가입 선택은 못하게 막았습니다.
plugin/oauth/callback.php?service=naver&code=S9XU5mV8pOaVwthc9U&state=49067374a06052c318f7cbd63fc8c058