파이어베이스의 Authentication 기능을 통해 로그인 기능을 구현해봤으니 다른 업체와 연동해서 로그인 하는 방법을 알아보자!
구글로 로그인하는 방법은 정말 간단하다. 파이어베이스가 구글에서 배포하는 서비스이기 때문이다.
확인하기
먼저 Authentication의 Sign-in method 로 들어간다
그다음 새 제공업체 추가를 눌려 구글을 선택한다
아래와 같이 사용 설정을 해주고,
프로젝트의 공개용 이름은 그대로 두고 프로젝트 지원 이메일을 입력한다(파이어베이스를 로그인할때 구글아이디를 이용하니 사실상 더 입력할 것이 없음)
그리고 저장하면 끝!
깃허브도 생각보다 간단한데 추가 작업이 조금 필요하다
먼저 기본은 구글과 동일하게 진행한다
확인하기
여기서 ID와 보안 비밀번호 입력을 해야하는데 먼저 깃허브를 들어가야한다
깃 허브에서 설정(settings)에 들어간다
그리고 왼쪽 베너 아래에 developer settings에 들어가면
OAuth Apps 가 나오고 클릭해서 들어가면,
비밀번호 키 값을 받을 수 있다.
콜백 URL은 파이어베이스에 나와있으며
홈 URL은 콜백 URL에서 .com까지만 입력하고 이후로 다 지우면 된다.
카카오 아이디로 로그인하는 방법도 알아봤으나 생각보다 복잡해서 여유가 될 때 다시한번 도전해 보기로 하자!
1. 사용자로부터 카카오 로그인를 통해 Accecss Token(String)을 발급받는다.
2. Firebase Custom Token을 만들기 위해서 Kakao Access Token을 서버로 전송한다.
3. 서버에서 Kakao API(사용자 정보요청)에 Access Token을 넘겨 사용자의 정보를 받아오는지 확인한다.
4. 3번 과정에서 사용자의 정보를 성공적으로 받아왔을 경우, Firebase Admin SDK를 이용해 Firebase Auth에 User를 생성한다.
5. 생성된 User의 UID를 이용해 Firebase Custom Token을 생성해서 클라이언트에게 반환한다.
6. Firebase Auth에서 제공하는 signInWithCustomToken 메서드의 인자로 Custom Token을 넘겨 로그인을 처리한다.
// 카카오 연동 방법은 https://lanicc.medium.com/ '라닉'님의 개인블로그 발췌
파이어베이스를 공부하면 할수록 더욱 더 많은 기능들이 있어서 놀랍고, 이런 툴을 개발해준 개발자님들에게 감사드립니다.....
아직 파이어베이스의 기능을 백분의 일도 다루지 못하지만 하나씩 익혀가며 하루빨리 자연스럽게 활용하고 싶다.
아무것도 모르는 나지만 개인적으로도 생산적인 결과물을 낼 수 있을 것 같은 기분이 들게 하는 마법의 툴이다.