Android/공부

[android] firebase 회원가입과 로그인

꾸끄꾸꾸 2020. 9. 29. 13:19

1. 회원가입하기

 

build.gradle(Module: app) 에 다음 소스를 추가해준다.

implementation 'com.google.firebase:firebase-auth:19.3.2'

 

자바코드에서 FirebaseAuth의 인스턴스를 선언한다.

private FirebaseAuth mAuth;

 

그런 다음 onCreate() 메서드에서 FirebaseAuth 를 초기화해준다.

mAuth = FirebaseAuth.getInstance();

 

신규 사용자 가입 [ createUserWithEmailAndPassword ]

 mAuth.createUserWithEmailAndPassword(email, password)
                        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                            @Override
                            public void onComplete(@NonNull Task<AuthResult> task) {
                                if (task.isSuccessful()) {
                                    // 회원가입 성공시, 사용자 정보 업데이트
                                    Log.d(TAG, "사용자 이메일 등록 완료");
                                    FirebaseUser user = mAuth.getCurrentUser();

                                    Toast.makeText(SignUpActivity.this, "회원가입에 성공하였습니다.",
                                            Toast.LENGTH_SHORT).show();
                                } else {
                                    // 회원가입 실패시 사용자에게 보여줄 메세지
                                    Log.w(TAG, "사용자 이메일 등록 실패", task.getException());
                                    Toast.makeText(SignUpActivity.this, "회원가입에 실패했습니다.",
                                            Toast.LENGTH_SHORT).show();
                                }
                            }
                        });

 


 

2. 기존 사용자 로그인 [ signInWithEmailAndPassword ]

 mAuth.signInWithEmailAndPassword(loginEmail, loginPassword)
                    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            if (task.isSuccessful()) {

                                // 로그인 성공시
                                Log.d(TAG, "로그인 성공");
                                FirebaseUser user = mAuth.getCurrentUser();
                                Toast.makeText(LoginActivity.this, "로그인에 성공했습니다.",
                                        Toast.LENGTH_SHORT).show();
                            } else {
                                // 로그인 실패시
                                Log.w(TAG, "로그인 실패", task.getException());
                                Toast.makeText(LoginActivity.this, "로그인에 실패했습니다.",
                                        Toast.LENGTH_SHORT).show();
                            }
                        }
                    });