소셜 로그인. > RESTful

RESTful

소셜 로그인. 정보

소셜 로그인.

본문

vue2로 할때도 그랬지만 소셜로그인이 가장 복잡합니다.

결국 여기서 흐지부지 하다가 vue3 나오면서 아예 뒤엎기로 마으을 굳혔기도 했구요.

 

그냥 개인용이라면 db 구조 무시하고 하면 각각의 로그인 api를 제공하는 사이트에 맞춰 제작하면 되지만,

그누보드의 db구조에 맞춰 소셜 로그인까지 갖춰서 하려 하니 복잡하네요.

그누보드 소셜로그인의 경우 별도의 공개된 php 플러그인을 커스텀하여 활용하고 있는데,

공개 된 소스에서 커스텀하다보니 흔히 말하는 스파게티 코드가 많은것 같습니다

단순히 제가 분석을 못하는걸수도 있지만요.

 

기존소스를 그대로 활용할까 하다가도 기존 소스 활용시 개발시에 크로스도메인 설정이나 예외설정 환경 설정이 복잡하여 생산성이 떨어지고, 새로 만들자니 그누보드에서 소셜로그인 테이블과 실제 테이블을 연동시키는 방법을 직접 하나하나 실행해보면서, 또는 소스를 봐가면서 해야하기 때문에 매우 번거로운 형태입니다.

 

기존의 소스를 활용 vs 그냥 새로운 api에 맞는 소스 작성

둘 중 어느걸 할까 계속 고민해왔지만 결국 후자를 선택했습니다

그누보드 api 자체를 최대한 그누보드 코어 부분만 뗀 형식으로 하려는 큰 방향성이 있긴 하지만, 이 부분만큼은 예외네요.

 

그누보드에서 사용하는 php 플러그인은 아예 벗기고, 그누보드에 맞게 해당 플러그인을 커스텀한 functions.php의 일부 함수 구조는 그대로 따라갈 것 같습니다.

현재 그누보드 db 형태에 맞춰야 하니까요.

둘 다 오래 걸리지만 그나마 후자가 유지보수나 api 형태로 제공할 때 더 간편하고 이해하기 쉽단 생각이 들었네요.

그나마 차악을 선택하는 형식입니다

이러한 api형태로 바꿀 때 번거로운 부분은 그누보드 내에서 첨부된 파일을 저장하는 db형식에서도 어려움을 느꼈고, 그 부분에선 결국 업로드 쪽의 프론트 컴포넌트를 그누보드에 맞게 커스텀화 했었습니다.

 

그리고 현재 그누보드 소셜 로그인의 경우 구글 로그인은 제대로 지원되지 않고 있으며(구글 API+ 종료예 따른) 페이코 등 잘 쓰이지 않는 소셜로그인도 있고,

구글 로그인의 경우 백단에서만 처리하려고 한다면 people api+까지 동원해야하지만, 프론트쪽에서 일부 처리를 한다면, 그렇게까지 하지 않는 편의성도 있습니다.

그렇기에 마음이 더 기운것 같기도 하네요.

 

현재는 카카오쪽만 20% 정도 완성된듯 하네요.

우선 하나의 소셜 로그인만 완성하면 네이버 구글 등의 문서 참조시간 이상으론 걸리지 않을듯 하지만 

소셜로그인쪽은 아예 새로 개발하는것이라 버그 체크, 안정성 등을 체크하는데 상당히 오래 걸릴 듯 합니다.

추천
3

댓글 6개

Oauth구현인데, 저도 아직 이 부분은 조금 헷갈리더군요.

보통 해외 사이트는 Oauth로 사인업을 하면,  계속 그 방법으로 로그인이 되어야 되는데..

그누보드는 (최근에는 테스트 안해 봤지만.) 아이디와 패스워드가 만들어지는 것 같습니다.

이부분도 테스트를 해 보고, 아이디와 패스워드 대신에 원래 했던 소셜로그인으로 계속 로그인할 수 있도록 해야 될 것 같습니다.
vue2 로 작업 해보고 최근 주 프론트 프레임워크를 어떤걸로 할까 고민하다가 리액트로 진행중에 있습니다.
아래 님 글들을 보면서 그누를 api로 가공하는게 그누구조상 일이 많아서 저도 먹고사는일때문에 구상만 했었는데..ㅎㅎ
진행하시는 프로젝트 관심있게 보겠습니다!
그누보드 소셜 로그인이 팝업창 방식으로 처리가 가능함으로 이부분은 api 처리를 하지 않고, 그냥 쓰는것도 나쁘지 않습니다.

이렇게 쓸수 밖에 없는 경우가 몇가지 있는데, 특히 외부 연동이 그렇습니다. 본인인증, 결제 pg사 연동, 그리고 소셜 로그인

물론 소셜로그인의 경우 업체에서 api를 잘 제공해줌으로 잘만들어서 처리하면 될일이긴 합니다.
저의 경우는 그누보드에 있는거 수정해서 사용했습니다. (핵심코드를 오픈소스 사용했는데, 버전이 조금 지난거라서 신규버전으로 패치해줬으면 하는 바램은 있습니다.)
기존 팝업창으로 활용하려고도 하긴 했었고 실제로 구현도 어느정도 했었으나 해보니 받는 부분쪽에서 값을 전달받고 주는 과정이 vue나 react에서 매끄럽지 못했습니다
제가 쓰는 백앤드는 그누보드에서 쓰는 함수들을 많이 참조하긴 했지만 결과적으로 별개의 프로그램이기도 하다보니 common.php을 활용한 세션공유나 로그인 정보 공유도 어렵기에 후자쪽을 선택했습니다
현재 카카오쪽은 개발이 되어있고 나머지 부분은 개발된 가이드라인과 각각의 소셜로그인 api에 맞추기만 하면되는데, 시간도 그렇고 귀찮기도 해서 작업이 더디네요
신규버전 패치를 하려면 PHP 버전을 올려야하는데 sir 에서는php 버전을 안올리더라고요  5.2 아직 호스팅업체에서 된다는 이유로요. 뭐 통상적으로 마이너버전 업뎃에서는
지원버전 변경을 안하긴 하지만요

PHP지원버전을 올리지않으면 이뤄질수 없는 일이라는점에서 코드개선은 아쉬워요
5.3만이라도..

소셜로그인이 해당오픈소스의 2.7버전에 멈춰있네요
전체 96 |RSS
RESTful 내용 검색

회원로그인

진행중 포인트경매

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