안녕하세요?


지난번 시간에는 가지가지 스크립트 에러가 겹쳐서 애를 먹었는데, 이번 포스팅에서는 이제 다시 [실전! 유니티5로 소셜 네트워크 게임 만들기]의 챕터6를 계속해서 실습해 나갔습니다. 다만 이래저래 책에서 세세하게 알려주지 않은 내용이 많아서, 좌우충돌하는 내용이 많아, 당초 계획보다 조금 더 늦어졌습니다.



먼저 지난번 포스팅에서 코루틴에 대해서 실습을 하였는 게임 오브젝트를 삭제 하도록 하겠습니다. 물론 그냥 놔두어도 큰 상관은 없어 보이기는 합니다만, 그래도 쓸데없이 충돌을 하는 것을 방지하기 위해서 제거하도록 하겠습니다.



다음은 이전에 만들어 둔 TitlePlay.cs로 가서, 이전에는 계속 스크립트 에러가 일어났던 FacebookAndroid라는 함수를 입력하도록 해 보았습니다.



계속해서 빨간색으로 하이라이트가 되면서, 유니티5에서는 스크립트 에러로만 처리가 되었는데, 이렇게 우클릭을 하면 Resolve라는 항목에서 위와 같이 해결책이 자동으로 뜹니다. 일단 제 경우에는 using Prime31이라는 것을 선택하도록 하였습니다.



이제서야 FacebookAndroid라는 함수가 유니티5의 스크립트상에서 인식이 되기 시작하였습니다. 이 부분은 책에서 알려주지 않은 부분이라서, 왜 이런지 몰랐지만, 생각해보면, 맨 윗줄에서 내가 Prime31을 사용한다는 선언을 하지 않아서 생긴 문제라는 생각이 듭니다.



그럼에도 불구하고 여전히 유티니5의 콘솔 창에서는 에러가 발생하였다는 내용이 뜨는 것을 보았습니다. 이번에는 무엇이 문제인가 했더니, TitlePlay.cs에서 Login() 관련된 코드에서 에러가 발생하였다는 내용이었습니다.



이 에러는 위 스크린샷에 나온 것 처럼, 추가로 붉은색 박스안의 코드를 입력하고 나서야 에러가 사라지는 것을 볼 수 있었습니다. 이 코드의 내용은 우선 FacebookAndroid.login()이 페이스북에 로그인을 하라는 함수입니다. 그리고 while문을 써서, 만약에 로그인이 되지 않았다면, 0.1초 간격으로 기다리고 체크하기를 반복하라는 의미가 됩니다.



이제 발생한 에러가 모두 사라진 것을 확인할 수 있었습니다. 아직 TitlePlay.cs가 완성된 것이 아니기 때문에 계속해서 코딩을 이어 나가기로 합니다.



다음으로는 내 정보를 출력하라는 의미의 명령어를 위 스크린샷과 같이 코딩을 하도록 합니다. 여기서 나오는 코딩 형식은 아마도 다음과 같았습니다.


Facebook.instance.get("이름", 임의의 함수);

}


void 임의의 함수 (string error, object result)

{

  처리내용

}


즉, 처음에 있던 Facebook.instance.get()이라는 함수는 페이스북에서 정보를 가지고 와라는 의미가 있습니다. 그리고 이어지는 결과를 저 임의의 함수에서 처리를 하라는 의미가 있는 듯 합니다.


Prime31.Utils.logObject();


이 함수는 페이스북에서 가지고 온 결과를 prime31의 함수를 이용해서 출력하라는 의미가 되는데, 위에서 있는 코드를 해석해 보면, 당연 에러가 발생하면 error라고 띄우고, 아니면 페이스북에서 가져온 정보를 띄워라 라는 의미가 됩니다.



다음으로 이제 빌드를 해서 알아보려고 했습니다만, 갑자기 NGUI에서 BB10Player관련해서 에러가 뜨는 것을 볼 수 있었습니다. 여기서 BB10Player라는 것은 블랙베리 기종의 모바일 기기를 의미하는데, 유니티5에서 더 이상은 지원하지 않기 때문에, 해결책이 NGUI의 버젼업된 스크립트를 쓰거나, 코드를 직접 수정하는 수 밖에 없다고 합니다. 제 경우에는 // 를 쳐주어서 모두 주석처리로 바꾸었습니다.



다음은 블루스택에서 실행을 시켜 보았습니다. 1차 시도는 위 스크린샷처럼 모르고 이전에 만들어 주었던 prime31의 데모를 빌드하였습니다. 다시 유니티5의 빌드 세팅으로 가서 제대로 된 씬을 선택하고 다시금 움직이도록 합니다.



하지만 제 기대와는 달리 아무런 반응도 일어나지 않았습니다. 페이스북에 로그인이 실패라도 했다면 error라는 메세지라도 뜰 것인데, 그것조차 없었습니다.



여기서도 책에서 언급하지 않은 부분이 등장하였습니다. 이제까지 작성한 TitlePlay.cs라는 스크립트를 Panel이라는 오브젝트-사실 이게 정답인지는 저도 잘 모르겠습니다. 아무튼 여기다가 드래그 앤 드롭으로 추가를 시켰습니다. 이제 블루스택에서 실행을 시킬 차례인데, 여기서 소소한 팁이 갑니다.


안드로이드 환경으로 빌드 & 런을 선택했다면, 블루스택을 반드시 실행시킨 상태에서 빌드를 시켜야 합니다. 아니면 작동 가능한 스마트폰 기기가 없다는 메세지가 뜨면서 전혀 빌드가 되지 않는 것을 볼 수 있었습니다.



다음은 블루스택에서 실행을 시켰는데, 이번에는 페이스북에 들어가지지 않는-로그인이 되지 않는 오류가 발생하였습니다. 메세지를 읽어 봐서는 해시키가 일치하지 않는 다고 하는데, 페이스북 개발자 홈페이지에서는 제대로 있는 것을 확인하였습니다.



그래서 하는 수 없이 하다하다 Player setting으로 가서 Publishing Settings로 가서 Keystore의 암호인 android를 입력하고, Key도 예전에 만들어 두었던 testapp이라는 키를 설정해 두었습니다. 그리고 나서 암호역시 예전에 설정해 두었던 android를 입력하였습니다.




이번에는 블루스택에서 타이틀화면이 나오는 것으로 하고, cmd상에서 adb를 실행시킨 결과 제대로 된 제 정보가 나오는 것을 볼 수 있었습니다. 책에서는 이 정보가 JSON포맷이라고 해서 문자열 데이터를 파싱이라는 과정을 거쳐야 한다고 합니다. 파싱에 대해서는 저는 잘 모르지만, 이 데이터를 쓸 수 있게 가져오는 과정이라는 생각이 듭니다.



일단 위 스크린샷에 보이는 것처럼 코딩을 하기 시작합니다. 이번에는 StartCoroutine(MyData());라는 구문을 추가하고, MyData라는 임의의 함수 내용을 정의합니다.



그리고 나서 가장 윗쪽에 object라는 타입의 변수를 선언하도록 합니다. 기본적인 값은 null로 두었습니다.



그리고 나서 위 스크린샷처럼 myInfo라는 변수가 null이면 0.1초씩 계속 기다리도록 하고, 이게 null이 아닌 상태-내 정보가 들어왔다면 더는 기다리지 않도록 만듧니다.



마지막으로 MyData()안의 내용을 만들어서, 문자열 데이터(string)형태로 가져오는 방식으로 만들어 줍니다. 자세한 내용은 저도 모르지만, 여기서는 myInfo에 있는 id와 name이라는 데이터 이름을 지닌 데이터를 가져와서 string변수에 집어다 넣으라는 내용이라는 것을 알 수 있었습니다.


이제 남은 것은 챕터6의 playerdata를 제작하는 방법이라고 합니다만, 여기까지 이번 포스팅에 넣기에는 너무 양이 많아서 부득이하게 여기서 끊어야 겠습니다. 다음 포스팅에서 들어간 실습에서는 아마 챕터6을 완성하고 챕터7에 들어갈 수 있으리라 봅니다.

저작자 표시
신고

안녕하세요?


이번 포스팅에서는 페이스북 계정을 가지고서 XE로 제작된 홈페이지에 로그인을 하는 기능을 구현하고자 합니다. 우선 XE관리자 페이지로 가서, 소셜XE에서 페이스북을 지원하는 지 여부를 알아보고자 합니다.



우선 소셜XE 모듈에서 사용가능한 서비스 항목에 페이스북이 있는 것은 확인하였습니다. 그래서 다음 단계로는 페이스북 개발자 페이지로 가도록 합니다.



먼저 페이스북 개발자 페이지로 가서, 페이스북 계정으로 먼저 로그인을 하도록 합니다. 그리고 다음으로 새 앱 만들기로 가서 아래와 같은 화면을 띄우도록 합니다.



여기서 표시할 이름을 임의의로 지정을 하도록 하고, 연락처에는 전화번호가 나와있지만, 이메일 주소로 바꾸도록 합니다. 마지막으로 앱ID만들기를 눌러서 다음 단계로 넘어가도록 합니다.



제품 설정항목이 나오게 되는데, 여기서 Facebook 로그인의 시작하기를 눌러서 페이스북 아이디로 로그인을 하는 기능을 구현하도록 합니다.



다음으로 XE관리자 페이지에서 소셜XE를 모듈로 가서, Redirect URL을 선택해서 복사하기를 해 둡니다. 그리고 다음으로 페이스북 개발자 페이지로 가서, 아래와 같은 화면에 복사한 URL을 붙여넣기 합니다.



클라이언트 OAuth설정항목으로 가서, 유효한 OAuth 리디렉션 URI항목에서 방금전에 복사한 URL주소를 복사한 다음, 이를 붙여넣기 해 두도록 합니다.



다음으로는 설정의 기본설정 항목으로 가서, 가장 아래에 있는 플랫폼 추가에서 [웹사이트]를 추가한 다음에, XE로 제작한 홈페이지의 주소를 입력하도록 합니다.



우선 XE 홈페이지 상에서 페이스북 아이디로 로그인을 지원하는 기능이 나타나기는 나타났습니다. 그런데 문제가 다음 단계에서 발생하였습니다.



어디가 잘못된 것인지 모르겠지만, API통신 오류가 뜨면서, 로그인이 되지 않는 문제가 발생한 것이었습니다. 이 문제는 어디서 잘못된 것인지 아직까지 원인을 모르겠습니다만, 해결책이 발견되는 대로 다음 포스팅에서 해결한 내용을 포스팅하도록 하겠습니다.

저작자 표시
신고
  1. JSY 2017.02.24 00:24 신고

    저도 같은 문제로 검색하다가 해결하여 댓글 남겨요

    https://www.xetown.com/index.php?mid=xepoint&category=17119&document_srl=2930
    모듈 문제로 업데이트 하시면 해결가능합니다. xe마켓에는 구버젼만 있어서 위 사이트로 직접 가서 다운받으세요 2.2버젼 잘 됩니다.

안녕하세요?

지난번 포스팅에서 구글 아이디로 로그인을 하는 기능을 거의 다 만들어 놓고도, 마지막에 API오류가 뜨는 것을 보셨을 것입니다. 이번 포스팅에서는 이 문제를 해결해서 구글 아이디로 로그인이 가능하다는 것을 보여주고자 합니다.


해결책을 찾아보던 중에 우연히 위 스크린샷과 같은 내용을 발견하였습니다. 지난번 포스팅에서 구글 플러스 API는 활성시키는 과정이 없었는데, 이게 문제라고 판단을 하고서 바로 구글 API 콘솔 홈페이지로 들어갔습니다.



먼저 구글 API 콘솔 사이트에서 라이브러리로 가서, Google+ API를 선택해서 들어가도록 합니다. 그리고 나서 위 스크린샷에 나와있듯이 사용설정 항목을 클릭하도록 합니다.



사용하기로 설정이 되면 위 스크린샷과 같은 화면이 나오게 됩니다. 이제 모든 설정이 완료되었다는 생각이 드니, XE로 제작한 홈페이지로 가서, 구글 아이디로 로그인이 가능한지 여부를 살펴 보도록 하겠습니다.




실행결과 이전 포스팅과는 다르게 제대로 로그인이 되는 것을 볼 수 있었습니다. 다만 이 메일 주소가 제 구글 계정에서는 G메일로 되어 있었는 탓인지, 관리자 아이디로 로그인이 안되는 것을 볼 수 있었습니다. 아무튼 이것으로 구글 아이디로 로그인을 연동하는 기능이 제대로 구현되었음을 알 수 있었습니다

저작자 표시
신고

안녕하세요?


지난번 시간에 카카오톡 아이디를 이용해서 XE로 제작된 홈페이지에 회원가입 없이 로그인을 하는 기능을 구현하였다면, 이번 시간에는 구글 아이디를 이용해서 회원가입 없이 홈페이지에 로그인을 하는 기능을 구현하고자 합니다.



우선 XE 홈페이지에 설치한 소셜XE에서 구글을 지원하는 것을 먼저 확인해야 합니다. 이유는 두말할 것도 없이, 여기 소셜XE에서 지원하지 않는다면, 저로서는 어떻게 해결할 수 있는 레벨을 넘어간 문제가 되기 때문입니다.



먼저 구글 검색창에서 [구글 API]라고 검색을 하여서 위 스크린샷과 같은 구글 APIs라는 홈페이지로 들어가도록 합니다. 당연 구글 계정은 필요하며, 먼저 필요에 의해서 사용자 인증 정보를 저는 먼저 만들도록 하였습니다.



일단 저는 제 G 메일 주소를 이메일 주소에 입력을 하였고, 그 다음에는 제품이름은 [구글 아이디로 로그인]이라고 간단하게 지었습니다. 



그런데 제가 좀 실수를 한 것이, API키를 만들 필요도 없이, 그냥 OAuth 클라이언트 ID라는 항목으로 들어가기만 하면 되는데, 그걸 모르고 먼저 API 키를 먼저 만들었습니다. 일단 큰 지장은 없을 것으로 생각이 되므로 그냥 OAuth 클라이언트 ID를 생성하도록 합니다.



제일 처음 들어가게 되면 애플리케이션을 어디서 사용할 것인지 물어보게 됩니다. 저는 웹 브라우저에서 사용할 프로그램이 필요하게 때문에 제일 처음에 있는 웹 애플리케이션이라는 항목을 선택하고, 생성버튼을 눌러서 다음 항목으로 진행하도록 합니다.



다시 XE 관리자 페이지로 돌아와서, 소셜 XE 모듈에서 구글 API에서 Redirect URL을 확인한 다음, 이 URL을 복사해서 아래와 같은 항목에다가 붙여넣기를 하도록 합니다.



특이하게도 구글에서는 http://홈페이지 주소/xe라고 입력이 되지 않습니다. 그래서 하는 수 없이 그냥 xe를 뺀 홈페이지 주소만 입력을 해야만 했으며, 아래에 있는 승인된 리디렉션 URI는 방금전 XE 관리자 페이지의 소셜XE에서 가져온 주소를 붙여넣기 하였습니다.



마지막으로 클라이언트 ID와 클라이언트 보안 비밀키가 생성이 되었습니다. 이 둘을 복사한 다음, 소셜XE의 API환경설정에서 구글 API항목에다가 각각 붙여넣기를 하였습니다.



마지막으로 로그인 화면창에서 구글 아이디로 로그인을 하는 창이 생성된 것을 볼 수 있었습니다. 하지만 다음 소셜 로그인을 시도하는 과정에서 문제가 발생하였습니다.



어찌된 일인지 API통신 오류가 뜨면서 계속해서 로그인이 안되는 문제점이 발생하였습니다. 이 문제점을 다음 포스팅에서는 해결해야 하는 것이 이제 과제가 되었습니다.

저작자 표시
신고

안녕하세요?


지난번 시간에는 XE로 만든 홈페이지에서 카카오톡 로그인을 구현하고자 했습니다만, 인증메일 발송문제라는 것이 발목을 잡았다는 내용의 포스팅을 하였습니다. 그래서 이번 시간에는 이 문제를 해결하고자 합니다.



우선 이 메일인증 문제는 소셜XE의 카카오톡 로그인 자체가 문제가 있다고 합니다. 그래서 찾아보니 고급 메일 발송 모듈을 설치하라는 것이 하나 있었습니다. 문제는 이러고도 웹 호스팅 업체에서 문제가 있으면 인증메일 자체가 발송되지 않는다는 문제가 발생하는 것입니다.



그러던 와중에 우연히 다른 해결책을 하나 발견했습니다. 우선 듣자니 XE Town에서 보니까 아예 소셜XE 로그인에서 메일 인증 자체를 아예 없애 버리는 방법이 가능하다고 합니다.



먼저 알FTP로 홈페이지의 계정에 접속을 해서, modules폴더 안에 있는 socialxe안에 있는 socialxe.controller.php파일을 하드 디스크 드라이브로 다운로드 합니다. 그 다음 복사본을 먼저 만들고 나서, 메모장으로 열어서 다음과 같은 부분을 수정하는 단계에 들어가도록 합니다.



php파일을 열어서 위 스크린샷에서 표시된 $config->enable_confirm='Y'; 라는 문구를 삭제하고서 다시 알FTP를 이용해서 도로 업로드합니다. 이때는 당연히 덮어씌우기를 해서 변경된 내용이 적용될 수 있도록 합니다. 이제 카카오 아이디로 로그인이 가능한지 여부를 알아보기 위해서 테스트를 하였습니다.


여기 스크린샷을 남기지는 못했지만, 카카오톡 아이디로 로그인을 시도했을 때 처음으로 이메일 주소를 입력하기만 하면, 추가로 메일 인증 같은 것을 거치지 않고서 바로 로그인이 가능하였습니다.


ps:기존에 로그인이 안되면서 메일 주소가 등록된 회원의 경우에는 카카오톡 로그인시에 메일인증을 요구하게 됩니다. 이런 경우에는 하는 수 없이 기존의 회원정보를 삭제햐야만 메일인증이 계속 뜨는 문제를 해결할 수 있었습니다. 이처럼 카카오톡 로그인을 구현하려면, 특히 커뮤니티형 사이트의 경우라면 초기에 이를 추가하는 것이 좋을 것 같다는 생각이 듭니다.

저작자 표시
신고

안녕하세요?


이번 포스팅에서는 지난번에 네이버 아이디로 로그인을 만들어 둔 것은 좋았는데, 한가지 문제가 있는 것을 발견하였습니다.



일부 사용자들이 네이버 아이디로 로그인이 불가능한 현상이 발생한 것입니다. 사실 이건 제가 찾아보니까, 네이버 개발자 포럼에서도 윈도 10을 사용하는 일부 유저들에게서 이런 현상이 발생을 한다고 합니다. 문제는 이걸 제 레벨에서는 어떻게 할 수는 없기 때문에, 하는 수 없이 이번에는 사용자가 많을 것으로 예상이 되는 다른 SNS로그인을 구현하고자 생각했습니다.



기본적으로 소셜XE라는 모둘에서 제공하는 다른 SNS 중에서 카카오가 있는 것을 발견할 수 있었습니다. 그래서 이를 구현하고자 마음을 먹고, 먼저 카카오 개발자 홈페이지로 갔습니다.



카카오 개발자 페이지를 보면, 여기서 카카오계정 로그인이라는 항목이 있는 것을 볼 수 있습니다. 이 항목을 클릭해서 다음 화면으로 넘어가면, 먼저 아래와 같은 화면이 뜹니다.



우선 저는 이름을 간편 로그인이라고 이름을 지은 다음 아이콘 사진을 임의의 사진으로 입력하였습니다. 그 다음에는 앱 만들기 버튼을 눌러서 다음 단계로 나아가고자 했습니다.



먼저 앱 정보 설정을 눌러서 아래와 같은 화면을 불러 오도록 합니다.



먼저 서비스를 할 사이트 도메인을 입력하도록 하고, 여기서 아래에 있는 Redirect path에는 아래의 스크린샷과 같이 소셜XE에 나와있는 Redirect Path URL을 입력하도록 합니다.



다시 XE관리자 화면으로 와서, 위 스크린샷에 가려놓은 Client ID항목에서는 카카오 개발자 페이지에서 본 REST API값을 복사해서 붙여넣기 하도록 합니다. 이제 XE 홈페이지상에서 제대로 나오는 지 여부를 확인해 보도록 합니다.



일단 로그인 화면창에서는 제대로 카카오 로그인을 지원하는 것이 나오고 있습니다. 하지만 문제는 이 다음에 발생을 하였습니다.



먼저 소셜XE를 개발한 개발자의 사이트에서 얻은 정보입니다. 카카오 계정 로그인은 기본적으로 이메일 주소를 가져올 수는 없기 때문에, 자체적으로 이메일 인증을 해야만 하는 불편함이 있다는 것입니다.



그 다음으로는 시험을 해보니, XE 공식 홈페이지에서 나온 위 스크린샷과 같은 에러 메세지가 뜨는 것을 볼 수 있었습니다. 이 에러 메세지가 뜨는 이유는 필요한 html파일이 m.skins폴더에 없어서 생기는 에러 메세지입니다. 그래서 이 메세지를 해결하고자 먼저 알FTP로 접속을 하여서 modules폴더 안에 있는 member/skins/default항목에 있는 모든 html파일을 하드 디스크 드라이브에 다운로드 받았습니다.


다음으로 skins폴더 안에 있던 default폴더안에 있는 html파일을 모두 m.skins폴더안의 default폴더 안으로 업로드 시킵니다. 물론 이때는 덮어 씌우기가 아니라 같은 이름의 파일은 건너뛰는 것으로 하고, 업로딩이 다 끝난 다음에는 이제 카카오 계정으로 로그인을 다시 시도해 보았습니다.


하지만 이번에는 인증메일이 발송되지 않는 문제점이 발생하였습니다. 그래서 다음 포스팅에서는 이 문제를 해결하는 방향으로 포스팅을 하고자 합니다.



저작자 표시
신고
  1. 2017.03.17 10:16

    비밀댓글입니다

  2. 김현우 2017.03.17 14:22 신고

    감사합니다! 많은 도움되었습니다.

안녕하세요?


지난번 포스팅에서 어느정도 네이버 아이디로 로그인을 하는 기능을 완성한 것을 보셨을 것입니다. 하지만 여기서 한가지 문제가 발생하였습니다.



실험을 위해서 다른 사람이 한번 로그인을 시도하면, 요청한 기능을 실행할 수 있는 권한이 없습니다. 하는 메세지가 출력이 되면서 로그인이 되지 않는 문제가 발생하였습니다. 그래서 우선 처음에는 네이버 아이디로 로그인을 실행할 경우 생기는 call back URL이 문제인가 싶어서, 네이버 개발자 사이트로 가서 네이버API설정을 변경하기로 하였습니다.



여기서 일단 Callback URL을 서비스 URL과 같은 주소로 변경하도록 했습니다. 그러나 문제는 이러고도 여전히 로그인이 되지 않는 문제가 발생하였습니다.



그래서 이번에는 API권한관리 항목으로 가서, 카페 가입 글쓰기 항목을 체크표시 하도록 했습니다. 그러자 이번에는 다른 유저가 네이버 아이디로 로그인이 문제없이 되는 것을 확인할 수 있었습니다. 그래서 이로서 네이버 아이디로 로그인하기에 문제가 없는 것은 확인 하였습니다만, 아직도 여러개의 테스트를 더 거쳐야 겠다는 생각이 들었습니다.


위 스크린샷은 Scratchat이라는 XE의 채팅위젯에서 크기가 변경이 되지 않는 문제가 있었습니다. 그래서 이 문제를 해결하고자 이번에는 몇몇 시도를 하였습니다.



우선 XE의 레이아웃에서 XE관리자 계정만이 열수 있는 페이지 설정 항목을 눌러서 위젯설정을 눌러 주었습니다. 여기서 채팅위젯의 전체 높이를 기존에는 100%로 되어 있었는데, 이를 300%로 늘렸습니다.



이제서야 원하는 대로 채팅창의 사이즈가 조절이 된 것을 볼 수 있었습니다. 이로서 모바일 화면에서는 그럭저럭 제대로 채팅이 가능한 이 Scratchat을 어느정도 조절이 가능하다는 생각이 듭니다.

저작자 표시
신고

안녕하세요?


지난번 포스팅에서 약간은 헛걸음을 했습니다만, 그래도 이번에는 그럭저럭 네이버 아이디로 로그인이 되는 기능을 어떻게 구현하는데 성공해서, 그 내용을 포스팅하고자 합니다.



우선 XE Town으로 가서, 소셜XE2015를 발견했습니다. 일단 지난번 SocialXE와 무엇이 다른지는 모르지만, 그래도 이걸 하드 디스크 드라이브에 최신버전으로 다운로드 받도록 했습니다. 다음은 이게 모듈이기 때문에 알FTP를 이용해서 xe의 modules폴더 안에다가 업로드 시켰습니다.



그 다음에는 XE 관리자 페이지를 통해서 들어간 다음, 고급탭에서 [설치된 모듈]항목으로 들어가도록 합니다. 그러면 소셜XE라는 것이 설치가 되어 있는 것을 볼 수 있습니다. 여기까지만 보면 지난번 socialXE와 별 차이는 없어 보입니다만, 그래도 확인을 위해서 일단 소셜XE를 눌러서 설정하는 화면으로 들어가 보도록 하겠습니다.



그래도 API설정하는 부분을 내려가니, 이번에는 네이버 API가 제대로 있는 것을 확인할 수 있었습니다. 그래서 이번에는 적용이 어떻게 가능하다고 판단을 해서, 우선 네이버 개발자 페이지로 갔습니다.



여기 네이버 개발자 페이지에서 지난번 포스팅에서 발급을 받은 네이버 아이디로 로그인을 가능하게 해주는 API가 있는 것을 보셨을 것입니다. 그래서 위 스크린샷에 보시다 시피 API상태라는 항목으로 가서, 지난번에 생성한 웹 애플리케이션이 잘 있는지를 보러 갑니다.



내 애플리케이션 항목에서 네이버아이디로 로그인 이라는 것이 있는 것을 볼 수 있습니다. 여기서 나와잇는 Client ID와 Client Secret을 각각 복사하도록 합니다. 그리고 앞서 나왔는 Naver API항목에 있는 Client ID와 Client Scret항목에 각각 붙여넣기를 하도록 합니다.



덤으로 Callback URL을 소셜XE에서 기본적으로 제공하는 URL로 설정을 한 다음에 이를 네이버 개발자 페이지에 있는 위 스크린샷과 같은 항목에다가 붙여넣기를 하도록 합니다. 혹시나 해서 callback URL이 실제로 가는 URL과 네이버에 등록된 URL이 달라져서 생기는 불이익을 피하기 위함입니다.



다음으로는 XE관리자 페이지로 돌아가서, 소셜XE페이지의 설정을 세세하게 바꾸도록 합니다. 먼저 레이아웃을 기존의 홈페이지에서 사용하고 있는 것으로 바꾸도록 합니다. 그리고 나서 SNS로그인의 설정도 위 스크린샷과 같이 바꾸고, SNS연동모듈 제외에 해당되는 모듈이 하나도 없도록 바꾸어 줍니다.



그런데 어떻게 된 것인지 모바일 홈페이지에서만 네이버 로그인이 뜰뿐, PC버젼의 로그인 홈페이지에서는 전혀 네이버 아이디로 로그인이 뜨지를 않았습니다. 그래서 다시 한번 더 XE 관리자 페이지로 가서, 사이트 레이아웃에 무언가 수정해야 하는 부분이 있는지를 알아보았습니다.



여기서 소셜XE를 simplestrap 레이아웃이 기본적으로 지원을 하고 있는데, 사용하지 않음으로 되어 있는 것을 발견할 수 있었습니다. 그래서 이를 사용하는 것으로 바꾸도록 하고, 다시 한번 PC버젼의 홈페이지 화면에서 이게 제대로 나오는 지 여부를 확인해 보았습니다.



홈페이지 버젼의 로그인창에서 제대로 소셜 로그인이 뜨는 것을 확인할 수 있었습니다. 이로서 일단 네이버 아이디로 로그인을 띄우는 것 까지는 문제없이 적용이 가능하다는 것을 알 수 있었습니다.

저작자 표시
신고

안녕하세요?


이번 포스팅에서는 네이버 아이디로 홈페이지에 회원가입없이 로그인해서 사이트의 기능을 마음껏 즐길 수 있는 기능을 구현하고자 합니다만, 아직까지는 이렇다 할 성공이 없다는 진행상황을 포스팅하고자 합니다.



우선은 기능을 구현하기 위해서 네이버 API이용신청을 하러 갑니다. 일단 애플리케이션의 이름은 간단하게 [네이버아이디로 로그인]이라고 지정하고, 웹에서 사용하고자 합니다.



그 다음으로는 Client ID와 Client Secret이라는 것을 부여받았습니다. 여기까지는 수월하게 진행은 되었습니다만, 문제는 이 다음부터 시작이 되었습니다.



우선 소셜 로그인을 가능하게 해주는 것으로 보이는 모듈인 SocialXE라는 모듈을 쉬운설치로 설치하고자 합니다. 일단 XE관리자 페이지에서는 쉬운설치가 되지 않아서 부득이하게 XE 공식 자료실로 가봐야 했습니다.



XE 공식 자료실에서 SocialXE를 하드 디스크 드라이브에 다운로드 받은 다음에, 이를 알FTP를 이용해서 설치경로에다가 업로드 시키도록 합니다. 당연 업로드 이전에 압축을 풀어줘야 하는 것도 잊으면 안되고요.



위 스크린샷은 알FTP를 이용해서 xe의 modules폴더 안에다가 업로드 시키도록 합니다. 이것으로 홈페이지에 socialXE라는 모듈의 설치가 완료가 된 것입니다.



XE관리자 페이지로 가서 고급탭에 있는 설치된 모듈 항목에 가면 제대로 설치가 된 것을 볼 수 있습니다. 이제 여기서 SocialXE를 눌러서 구체적인 설정에 들어가 보도록 해 보고자 했습니다.



여기서 한가지 문제가 생겼습니다. 이 SocialXE가 지원하는 서비스에서 네이버가 없는 것입니다. 그래서 모듈의 선택이 잘 못 되었다는 것을 알 수 있었습니다. 일단 이번에는 어쩌다가 헛걸음을 하게 되었습니다만, 부디 다음 포스팅에서는 제대로 된 네이버 아이디로 로그인을 하는 기능이 구현할 수 있기를 바랍니다.

저작자 표시
신고
  1. 마르키스 2017.09.07 16:01 신고

    안녕하세요. 저도 XE 조금씩 연구해 보고 있습니다. 질문이 있는데요, 네이버 로그인 연동을 하게 돼도, XE에서 회원 관리 가능한가요?

    • 깊이는 모르지만, 회원의 정보 관리는 가능합니다.
      다만 세부적으로 네이버 카페마냥 일정기간 동안 회원 자격정지 등을 하기 위해서는 추가적인 플러그 인이 필요합니다.

+ Recent posts

티스토리 툴바