페이지

[파이어베이스] user.isEmailVerified() 쓰임새, 이메일 인증

파이어베이스의 이메일 로그인을 구성한 후 해당 이메일 유효한 이메일인지 가입자가 올바른 메일을 사용하고 있는 지 확인할 필요성이 생겼다.

해당 파이어베이스 인증창에서는 이메일이 승인되었는지 알수가 없었다.


검색한 결과, 이메일 인증을 위한 메일 보낸 후 해당 링크를 클릭하게 되면

다음과 같은 인증완료 창을 볼수 있다.

이후 파이어베이스에서 사용자정보를 불러와 user.isEmailVerified() 를 사용하여 메일이 인증되었는지 확인하면 true 또는 false 값으로 반환된다.

  mFirebaseAuth = FirebaseAuth.getInstance();

  final FirebaseUser User = mFirebaseAuth.getCurrentUser();
  if (user.isEmailVerified()) {

                      // 이메일이 인증 되었을 때

  }else{

                    // 이메일 미인증시

  }
인증한 후 다시 사용자정보를 다시 불러와야 하는 데,

mFirebaseAuth.getCurrentUser().reload()

방법으로만은 빠른 응답을 기대하기 어려웠다.
  @Override
    protected void onStart() {
        super.onStart();

        mFirebaseAuth = FirebaseAuth.getInstance();
        final FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();


        if (mFirebaseUser == null) {  //사용자 없을시 

            Toast.makeText(this, getResources().getString(R.string.login_need), Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(this, Activity_Login.class);
            startActivity(intent);
            finish();

        } else { // 사용자 있을 시 다시 불러옴

            mFirebaseAuth.getCurrentUser().reload().addOnSuccessListener(new OnSuccessListener() {
                @Override
                public void onSuccess(Void aVoid) {
                    updateUI(mFirebaseUser);
                }
            });



        }

    }


onStart() 를 이용하여 다시 화면을 사용할 때마다 다시 사용자정보를 업데이트 하도록 했다.


참고링크






댓글 없음:

댓글 쓰기

[Kotlin] 안드로이드 내부저장소 캐시에 저장하기

안드로이드 내부에 임시적으로 데이터를 저장하기 위해 캐시에 저장한다. 따로 퍼미션이 필요없고 보안이 필요없는 부분에서 잠시 저장할 때 유리하다 내부적으로 저장소가 부족할때 자동으로 지워질수 있다는 경고 private fun saveCache(d...