소셜로그인 curl질문입니다.

소셜로그인 curl질문입니다.

QA

소셜로그인 curl질문입니다.

본문

http://sir.kr/g5_plugin/1070 스킨 사용중이고

오류가 많이 생겨서 이것 저것 손보는 중인데

개발자님한테 의뢰넣고 진단 받으니 curl이 제대로 작동되지 않는다 하셔서요

phpinfo(); 해보면 curl은 돌아가고 있거든요

 

혼자 메모형식으로 질문을 하고 답을 얻어 수정하고

정리해본 것인데 curl이 문제라면 페이스북과 네이버 모두 되지 않아야 하는데

페이스북은 오류는 뜨지만 정상적으로 로그인이 되더라구요

그렇다면 curl의 문제는 아니다라는 결론은 내도 될런지요 ?

 

 

네이버의 로그인을 선택할 경우

동의하기 버튼을 누르면 500 페이지 오류가 뜨고 ㅠㅠ

 

1. 그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

아래와 같이 오류가 뜸

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]
 

naverlogin.php 에 뜨는 오류문

PHP Fatal error: Cannot break/continue 1 level in D:\website\g5new\plugin\social_login\naver\naverlogin.php on line 214 

 

PHP Fatal error: Cannot break/continue 1 level in  이 오류는 php스쿨에 글 남기니

아래와 같은 답변이 달림.

 

 

break 대신 exit를 사용하세요.
continue는 루프문에서 사용하는것이고, break는 루프와 switch에서 사용됩니다;;

 

그누보드 답변

  PHP Fatal error: Cannot break/continue 1 level in

loop문에서 break나 coutunue를 사용할수 없을경우 나는 에러 입니다.!

 

 

 

해당 오류가 나오는 break;문을

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

exit; 바꿔주고

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중] 

 

다시 네이버로 로그인해보면

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

오류문만 뜨지 않을 뿐

여전히 로그인은 되지 않는 상황

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중] 

 

그담에 나오는 오류가

Naver::login() 오류인데..

PHP Fatal error: Call to undefined method Naver::login() in D:\website\g5new\plugin\social_login\naver\login.php on line 17 

 

그누보드에 문의해보니

curl 설정 부분.. 이부분은 다 체크해 본 결과

문제 없는 걸로 보임....휴~~

 

 

\plugin\social_login\naver\login.php  의 17라인에서 오류가 났습니다.

 

원인은 login() 함수가 정의가 안되서 에러가 발생하였습니다.

 

https://nid.naver.com/oauth2.0/ <-- 이곳에서 oauth함수를 불러 사용됩니다.

 

즉 이걸 정상적으로 못불러온걸로 봐서..

 

curl이 셋팅이 안되어있어서 그럴거라 추측되네요.~

 

phpinfo()함수 날려보셔서 확인해보시기 바랍니다~

 

 

이 부분이 문제인거 같긴 한데 ㅠㅠ

 

PHP Fatal error: Call to undefined method Naver::login() in D:\website\g5new\plugin\social_login\naver\login.php on line 17  

 

위에 부분은 naver_fun.php 에서  

login();  함수가 설정이 안되어 있어서 그렇다고 하시길래

testLogin()으로 되어 있는게 있어

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중] 

 

login.php에서 바꿔봐도 안됨

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

위의 오류를 순차적으로 다 처리했을 경우

오류는 뜨지 않지만, 네이버 소셜 로그인이 되지 않음 우어어어엉

 

혹시나 curl 이 문제 인가 싶어

php.ini 문서에  extension=php_curl.dll 주석이 되어 있나 다시 확인하고

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중] 

 

php가 설치 되어 있는 폴더에서 libeay32.dll,ssleay32.dll 해당 파일을 복사해서

C드라이브 Windows - System32 폴더와 SysWOW폴더에 넣어 줌!

------------------------------------------------------------------------

 

시간이 너무 소요되길래 그누보드 의뢰게시판에 글을 남겨

개발자님이 봐주심!!

 

코드상의 문제가 아니라 서버의 curl이 문제라고 하심 휴~

개발자님은 서버 설정 문제라 전문가에게 맡기라 하시고 나가심 ㅠㅠ

2시간 동안 봐주셨는데 고맙고,미안하고 ㅠㅠ

 

정상 작동 중인데 인식을 못 하는 것인지...

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

------------------------------------------------------------------------

네이버는 잠시 제쳐 두고, 페이스북을 한 번 해보기로 함

페이스북 로그인 되어 있는 상태에서 말자닷컴에서 페이스북 소셜 로그인 버튼을 클릭하면

아래와 같이 에러문이 뜸!!

 

Invalid or no certificate authority found, using bundled information Invalid or no certificate authority found,
using bundled information Invalid or no certificate authority found, using bundled information

 

허나 에러창을 닫으면

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]

 

해당 팝업창은 닫기고

 

기존 홈페이지가 새로고침 되면서 로그인이 됨 -_- 엥 헐 ???

페이스북도 소스코드를 보면, curl로 주고 받는거 같은데

오류는 뜨지만, 창을 닫으면 로그인은 된다는...What ???

 

 

그누보드 sns소셜로그인 네이버,페이스북 [진행중]
 

뭐야 이거 ??? 어 ?

 

 

이 질문에 댓글 쓰기 :

답변 4

위에서도 말씀드렸지만...케스바이 케이스 입니다.!

 

아마 생각하시는게 공통적인 부분으로 생각하실수 있겠지만... 네이버과 페이스북 의 오픈되어있는 모듈이 같은 방식이라 볼수 없습니다.!

 

오픈 스킨 소셜 로그인 소스를 열어 보시면 페이스북같은 경우는 토큰을 활용하는 모듈 클래스를 제공하는 반면 네이버는 일부만 토큰을 파싱하는 부분에 대하여만 제공할 뿐  다른건 제공이 안됩니다.

 

구글도 마찬가지입니다! 제각기 나름대로의 방식이 다르기 때문에 다 같다고 볼수 없습니다.

따라서 로그인 인증할때도 케스별로 다른 겁니다. 그리고 오픈 스킨 모듈도 일부 버그가 있습니다.

 

참고 하시고 사용환경에 맞게 커스터마이징 작업을 하시기 바랍니다!

 

 

 

이거 봐드렸던 개발자인데여

왜인지는 둘중에 하나입니다. curl 문제이거나 네이버에서 자료를 못받아오거나

네이버쪽으로 던지는 자료들은 변수에서 찍히는거 다확인했구여

curl에서 자료가 나와야되는데 나오지를 않아여 제가 그래서 curl문제라고 말씀드렸던거고

네이버쪽에서 자료를 왜못받는지에 대해선 해결책을 딱히 말을 못해드리겠네여

어느라인 어디에서 문제인지는 집어드릴수 있어여 하지만 curl을 지나면서

자료를 못받아오네여

혹시나 하는말인데 callback 주소를 잘못입력하면 정지된다고 메세지가 뜨긴하더군여

기존 애플리케이션 삭제하시고 인증키랑 시크릿키 다시받아서 넣어보세여

그누주소를 www빼고 해놓으셨으니 콜백주소도 동일하게하시구여 

(https://nid.naver.com/oauth2.0/ <-- 이곳에서 oauth함수를 불러 사용됩니다 ) <- 리플 드렸던 답변자 입니다.

 

해결이 잘 안되서 얼마나 마음 고생을 하실까 생각됩니다.~

안되는 이유는 여러가지 이유가 있을수 있습니다.

 

우선 대부분 소셜 로그인을 db까지 연동한다면 oauth 방식으로 이용합니다.

그렇지 않으면 자바스크립을 사용하긴하는데...기록에 남지 않기때문에 대부분 oauth방식을 사용합니다.

 

phpinfo 을 날려서 서버상에 올라와 돌구 있다면 우선 curl는 정상적으로 작동하는겁니다.

 

그러나 여기서 관고 하시고 넘어가시면 안됩니다.

특이 윈도우서버에서 돌리실경우 dll파일이 변형되는 경우도 있습니다. 

 

변형된 dll이 셋팅 되어도 올라온것으로 서버는 인식하기때문에 . 해당 dll를 한번  바꿔 보시던지..

아니시면 apm셋팅을 처음부터 다시한번 해보시기 바랍니다.!

 

소셜로그인은 핵심은 해당 인증 서버에서 인증을 받아오는것입니다. 이게 안되면 결국은 에러로 이어집니다.!

 

이외에도 여러 예측 가능한 에러를 추측  해볼수 있겠지만. 디버깅을 해보면서 그 원인을 하나씩 찾아가시면 실마리를 찾지 않을까 생각됩니다.

 

해보시다 안되시면 쪽지 주십시요~~

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 41
QA 내용 검색

회원로그인

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