• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 파이어베이스 회원 인증에서 이름 변경이 안되는 문제

파이어베이스 회원 인증에서 이름 변경이 안되는 문제

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #25398

    권유진
    참가자

    안녕하세요. 

    파이어베이스로 회원 인증 하는 부분 관련해서 질문이 있어서 글 올립니다.

     

    result.user?.updateDisplayName('john');

     

    이걸 응용해서 회원 가입 화면에서

    email, 비밀번호, 이름 까지 텍스트에디팅콘트롤러로 입력받고,

     

    signUp 함수로 다음과 같이 작성하고, 회원가입 버튼 눌렀을 때  이 함수를 실행하게 했습니다.

     

    signUp(em, pw, nm) async {

      //print(nm);

      try {
        var result =
          await auth.createUserWithEmailAndPassword(
            email: em,
            password: pw,
          );

        result.user?.updateDisplayName(nm);

        print('가입후');
        print(result.user);

      }  catch (e) {
          print(e);
      }
    }

     

    이렇게 했을 때, 입력한 아이디와 비번으로 회원가입은 되었는데,

    result.user 콘솔에 찍힌거 보면

     

    디스플레이 네임이 null 값이어서요. 

     

    저 함수 내에서 nm(name) 찍어봤을때 값 찍히는거 확인했구요. 

    혹시나 updateDisplayName(nm) 이 완료되기 전에 프린트가 실행되서 그런가 해서

    여기 앞에 await 붙여봐도 마찬가지 입니다.

    답변 부탁드립니다. 감사합니다.

     

    + 추가로, 기본적으로 유저정보에 있는 값(이름, 폰번호 정도?) 외에 다른 값이 회원가입할 때 필요하다고 한다면,

    uid 와 필요한 값들을 담을 필드로 구성된 컬렉션을 새로 만들고, 

    (예를들어서 생일, 성별, 주소 등)  필요한 값을 화면에서 입력 받은 후에 email, 비번으로는 파이어베이스 이메일 가입을 하고,

    거기서 가져온 uid 와 다른 입력받은 값, 생일, 성별, 주소 등등을

    새로 만든 컬렉션에 저장하는 식으로 하는게 맞나요?

     

    #25429

    codingapple
    키 마스터

    result는 가입 직후에 만들어놨던 변수라 이름이 안보이는듯요

    현재 로그인된 유저 정보는 auth.currentUser 이거 출력해봅시다 

     

    user 컬렉션 하나 만들어서

    유저 가입시킬 때 거기에 유저 정보를 담은 document도 하나 발행하면 됩니다

    document id는 uid로 만들어놓는게 편리하겠군요

    #26398

    카라라
    참가자

    firebase.auth().createUserWithEmailAndPassword(email, password).then((result)=>{

    var userInfo = {
    name: name,
    email: email
    }
    result.user.updateProfile({ displayName: name})
    db.collection('user').doc(result.user.uid).set(userInfo).then((result)=>{
    console.log(result)
    })

     

     

    그러면 여기서 어떻게 바꿔야 하나요?

     

    #26427

    codingapple
    키 마스터

    updateDisplayName 으로 써야합니다 updateProfile은 이제 쓰면 안될걸요 

    바깥에서 auth.currentUser 로 이름 잘 있나 확인해보면 됩니다 

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠