:+: Code Summary :+:

Firebase Webapp 설정
  1. firebase Console에서 자신의 API키 및 설정값 확인하기 (웹 앱에 Firebase 추가)
  2. 
    
    
  3. 사용할 서비스에 맞는 Firebase SDK (JavaScript CDN) 추가하기
      
      
    
      
      
    
      
      
    
      
      
    
Firebase Auth 추가
  1. [공통] 인증 상태를 확인하는 Listener
    firebase.auth().onAuthStateChanged(function(user) {
      if (user) {
        console.log('User is signed in.');
        // TODO 인증이 되어있거나 성공했을 경우 했을때 수행할 Code
      } else {
        console.log('No user is signed in.');
        // TODO 인증이 되어있지 않거나 인증을 해제한 경우 수행할 Code
      }
    });
    
  2. [공통] 로그아웃
    firebase.auth().signOut().then(function() {
      console.log('Sign-out successful.');
      // TODO 로그아웃 (인증 해재 = Token broken?!)을 할 경우 수행할 Code
    }, function(error) {
      console.log('An error happened.');
      // TODO 로그아웃에 실패할 경우 수행할 Code
    });
    
  3. Google Login
    /* 구글 인증을 provider 변수에 대체 */
    var provider = new firebase.auth.GoogleAuthProvider();
    // OAuth 2.0을 사용할 경우 다음줄 주석 해제
    // provider.addScope('https://www.googleapis.com/auth/plus.login');
    
    /* provider(구글 인증) 인증으로 로그인 처리 */
    firebase.auth().signInWithPopup(provider) // 팝업 대신 페이지 이동을 할 경우 signInWithRedirect로 변경
      .then(function(result) { // 로그인이 성공 했을시
      var token = result.credential.accessToken; // 구글 인증 완료된 Token 가져오기
      var user = result.user; // 구글 인증된 유저 정보 가져오기
      // TODO 구글 로그인이 성공했을 경우 수행할 코드
    }).catch(function(error) { // 로그인이 실패 했을시 = 에러를 핸들링
      var errorCode = error.code; // 에러 코드
      var errorMessage = error.message; // 에러 메세지
      console.log(errorMessage);
      // TODO 구글 로그인이 실패했을 경우 수행할 코드
    });
    
  4. User 객체
  5. 페이스북 연동하기
  6. 메일 가입 메소드
    firebase.auth().createUserWithEmailAndPassword(signup_mail, signup_password)
      .then(function(){
        // 메일 회원 가입에 성공 했을때
        // 자동으로 로그인 성공으로 간주 = onAuthStateChanged()가 동작함
      }).catch(function(error) {
        // 메일 회원 가입에 실패 했을때
        console.log(error.message);
      });
    
  7. 메일 인증 메소드
    firebase.auth().signInWithEmailAndPassword(signin_mail, signin_password)
      .then(function(){
        // 메일 회원 로그인
      }).catch(function(error) {
        // 회원 로그인에 실패 했을 경우
        console.log(error.message);
      });
    

:+: Study Slide :+:

A. 구글 인증

  1. 구글 로그인 만들기 Step1 (firebase SDK 설정하기 + UI 설정)
  2. 구글 로그인 만들기 Step2 (구글 로그인 버튼 누르면 동작하게하기)
  3. 구글 로그인 만들기 Step3 (인증 상태 변화 감지하기)
  4. 구글 로그인 만들기 Step4 (로그아웃 만들기)
  5. 구글 로그인 만들기 Step5 (인증된 유저 정보 확인하기)
  6. 구글 로그인 만들기 Step6 (완성 소스)

B. b. 메일 인증

  1. 메일 로그인 만들기 Step1 (firebase SDK 설정하기 및 준비된 UI 확인)
  2. 메일 로그인 만들기 Step2 (인증 상태 변화 감시하기 및 상태 UI 설정)
  3. 메일 로그인 만들기 Step3 (로그아웃 처리, 회원 가입)
  4. 메일 로그인 만들기 Step4 (가입시 닉네임 업데이트 처리하기)
  5. 메일 로그인 만들기 Step5 (로그인 처리하기)
  6. 메일 로그인 만들기 Step6 (완성 소스)

C. Firebase UI

  1. 샘플 보기