sns 로그인 페이스북,트위터 ...구글 로그인 추가 + 정보수정 > 그누4 플러그인

그누4 플러그인

그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다.
플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

sns 로그인 페이스북,트위터 ...구글 로그인 추가 + 정보수정 정보

sns 로그인 페이스북,트위터 ...구글 로그인 추가 + 정보수정

첨부파일

sns_login.zip (259.2K) 466회 다운로드 2013-07-09 01:39:11

본문

전에 올려 드린 플러그인에서 조금 더 수정이 되었습니다




트위터 페이스북 구글 계정으로 로그인 하실 수 있습니다

 

※테러보이님(페이스북) 과 말러83 님(트위터)의 소스를 수정, 조합하였음을 알려 드립니다

 

 

**********설치방법

 
1. 루트에 plugin 폴더를 생성합니다


 2. 다운 받으신 폴더의 압축을 푼 후

    plugin 폴더내에 sns_login 폴더를 업로드 합니다

 
 3. 트위터와 페이스북 구글 api 키를 발급 받으신 후

 

https://dev.twitter.com/

https://developers.facebook.com/apps

https://code.google.com/apis/console/

 

4. sns_login/ 폴더내의

config.php 수정


5, 6, 7 라인 트위터 발급키 입력

10, 11 라인 페이스북 발급키 입력

15, 16, 17, 18 라인 구글 발급키 입력

19라인 ---> 구글키 발급 하실때 Redirect URIs 입력 하라고 나옵니다
                그때 19 라인을 확인하시고
                홈페이지주소/plugin/sns_login/google/index.php
                이렇게 넣으시면 됩니다
 

///////회원정보 수정/////////////////////////////////////////////////////////////////////// 


회원 정보 수정....

sns 로그인시
기본 비밀번호는 1234 로 설정했습니다
로그인 접속시 경고창이 뜨며 확인을 누르면 정보수정 페이지로 이동 하도록 했습니다




1. member_confirm.skin.php  (회원스킨)

  적당한곳, 잘 보이는곳에 추가 (임시 비밀번호를 알려줍니다)

  <? if($member[mb_10]){ echo "<span style='color:#FF0000;'>sns 로그인 임시비번은 1234 입니다</span>"; }?>




2. register_form.skin.php  (회원스킨)

if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

바로 아래 코드입력

if ($member[mb_10]){
$read = "";
}else{
$read = "readonly";
}

그리고....

이름 입력부분에  readonly 를 {$read} 로 변경



3. bbs/register_form_update.php  (bbs 폴더내)

회원정보 수정 업데이트 부분

mb_name        = '$mb_name',

추가



4.login.skin.php (회원스킨)

하단 아래 코드 입력
<? include_once("$g4[path]/plugin/sns_login/sns_login.php");?>




끝!!!!!!!!!!!!!!!!!!!!!!!!

천천히 해보시면 어려움은 없을듯 합니다



링크1은 테스트 사이트 입니다
링크2는 질문, 오류신고 등을 받습니다 ^^;
추천
8

댓글 전체

ㅠ.ㅠ또다른 문제가 발생했습니다.
트위터로 테스트 중인데..
트위터 이름에 영문으로 되어있는데.
sns임시비밀번호로 로그인해서 정보를 수정하고 저장하려고 하니까..
공백없는 한글로 입력하라.. 나오네요.. 그래서 수정이 안됩니다.. ㅠ.ㅠ
그럴리가 없을텐데요...설치시 2번을 확인 하셨나요???

readonly 를 {$read} 로 변경

이걸 해주셨는지....


기본적인 구조는 sns 로그인하면 회원 여분필드 10에 체크가됩니다
여분필드10에 체크가 되있다면 이름과 별명 수정을 가능하게 합니다

수정이 완료되면 여분필드 10이 공백이 되며
일반 회원정보 수정과 같습니다
그대로 설치를 했는데 "입력하신 URL은 해당 앱에서 허용되지 않습니다.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains. " 이런 에러가 발생이 됩니다. 도와주세요.
3. bbs/register_form_update.php  (bbs 폴더내)

회원정보 수정 업데이트 부분

mb_name        = '$mb_name',

추가




-----------

이거 정확히 어딘지 몰라서 안했더니 패스워드가 1234로 초기화가 안되는거같아요

어디 쯤인가요?



    $sql = " update $g4[member_table]
                set mb_nick        = '$mb_nick',
                mb_name        = '$mb_name',

요기쯤인듯 해서 넣어봐도 비번은 뭔지 모르겠네요

확인 부탁드립니다.
로그인기능을 login.skin.php 이 아닌 탑헤더 부분에 빼서 include시켜서 사용하니..
트위터 및 페이스북은 잘되는데,

구글은 자꾸만 회원정보를 수정하세요 하면서 경고창이 리플레쉬 되는현상이 발생되네요.
어떻게 해결해야 하나요?
sns_login/google/index.php 파일 하단 148라인

if($mb[mb_10]){
  alert("회원님의 정보를 수정해 주세요","{$g4[bbs_path]}/member_confirm.php?url=register_form.php");
}else{
      goto_url("{$g4[path]}/");
}

위 부분을
goto_url("{$g4[path]}/");

이렇게 수정해 보시면 어떨지 ^^;;

헤더에 적용을 해보질 않아서 ㅜㅜ;;
login.skin.php (회원스킨)에만 적용하기보다 상단에 넣고 싶은데...
위처럼 적용을 해본결과 아예 화면이 넘어가지 않고 서버리더라구요..
제가 작업하고 들여다 본지 오래 되서...ㅜㅜ
외부로그인 스킨처럼 상단에 적용하시려고 하는거죠??

그런데 원본대로 한다면  경고창만 뜨고 페이지 이동이 안되나요??

페이스북이나 트위터는 이동이 되고요??
페이스북이나 트위터는 이동이 되는데...
구글로그인은 경고창만 계속 떠요...이동이 안되요

외부로그인 처럼 꼭 사용하고 싶어요~
sns_login.php 에서
하단
<!-- 페이스북 로그인 -->
<a href="<?php echo $loginUrl; ?>">
<div style="padding: 10px; border: 1px solid #2E4882; background: #3B5999; color:#FFF; cursor: pointer;"><b>Sign Up With Facebook</b></div></a>

<!-- 트위터 로그인 -->
<a href='<?=$g4[path]?>/plugin/sns_login/twitter/redirect.php?url=<?=$urlencode?>'>
<div style="padding: 10px; border: 1px solid #40B6E0; background: #47D1FF; color:#FFF; cursor: pointer;"><b>Sign Up With Twitter</b></div></a>

<!-- 구글 로그인 -->
<? include_once("$g4[path]/plugin/sns_login/google/index.php");?>

이 부분을

<? if(!$is_member){?>
<!-- 페이스북 로그인 -->
<a href="<?php echo $loginUrl; ?>">
<div style="padding: 10px; border: 1px solid #2E4882; background: #3B5999; color:#FFF; cursor: pointer;"><b>Sign Up With Facebook</b></div></a>

<!-- 트위터 로그인 -->
<a href='<?=$g4[path]?>/plugin/sns_login/twitter/redirect.php?url=<?=$urlencode?>'>
<div style="padding: 10px; border: 1px solid #40B6E0; background: #47D1FF; color:#FFF; cursor: pointer;"><b>Sign Up With Twitter</b></div></a>

<!-- 구글 로그인 -->
<? include_once("$g4[path]/plugin/sns_login/google/index.php");?>
<?}?>

위 처럼 회원일 경우에만 로그인이 보이도록 수정해 보세요.. ^^;
최근에 아래와 같은 오류가 뜨고, 구글에서 해당오류로 로그인이 계속 안하여 비활성시 삭제조치한다고 합니다.
프로그램에 대해 문외한이라 해결할수가 없어서 문의드립니다.


Fatal error: Uncaught exception 'Google_AuthException' with message 'Error fetching OAuth2 access token, message: 'invalid_grant'' in /www/plugin/sns_login/google/src/auth/Google_OAuth2.php:113 Stack trace: #0 /www/plugin/sns_login/google/src/Google_Client.php(131): Google_OAuth2->authenticate(Array, '4%2F0AY0e-g7ub6...') #1 /www/plugin/sns_login/google/index.php(33): Google_Client->authenticate('4%2F0AY0e-g7ub6...') #2 {main} thrown in www/plugin/sns_login/google/src/auth/Google_OAuth2.php on line 113


해결방법 좀 부탁드립니다.
전체 3,524 |RSS
그누4 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT