KOTLIN
TIL : Firebase 사용해 이메일로 회원가입하기/ Google 아이디로 회원가입하기
장꾸꾸
2021. 3. 15. 15:43
Firebase 사용해서 이메일로 회원가입
Tools에서 Firebase 선택
Authentication 선택
- Firebase에 Connect 후 Add Firebase Authentication to app (build.gradle/ pp/build.gradle에 추가하는 것 accept)
적용
... class LoginActivity : AppCompatActivity() { var auth: FirebaseAuth? = null ... override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) auth = FirebaseAuth.getInstance() btn_login.setOnClickListener { signin_signup() } ... fun signin_signup() { auth?.createUserWithEmailAndPassword(et_email.text.toString(), et_pwd.text.toString()) ?.addOnCompleteListener { task -> if (task.isSuccessful) { //creating a user account 회원 계정 만들기:1 moveMainPage(task.result?.user) //계정이 만들어지면 넘어가도록 } else if (task.exception!!.message.isNullOrEmpty()) { //작동하지 않는 부분 Show the error message:2 Toast.makeText(this, task.exception?.message, Toast.LENGTH_LONG) .show() //에러나면 toast 띄우기 } else { //Login if you have account (1계정이 이미 있고, 2오류가 없으면 로그인 진행) signinEmail() } } }
이런식으로 적용해주면 됩니다. :tada:!!
Google 계정으로 회원가입하기
잘 뜨길래 다 됐구나 했는데 MainActivity로 넘어가질 않았습니다!
내가 무슨 코드를 잘못 친 게 아닐까 하면서log.d()
로 도배를 했습니다.
onActivityResult
에서 문제가 있는 것 같아 다 찍어봤습니다.
그랬더니 GoogleSignInResult
가 Success가 아니라는 건 알았는데, 이해가 안됐습니다. 난 강의 코드랑 똑같이 쳤는데, 강좌에서는 되고, 나는 안된다고?!
씩씩거리며 질문하러 갔는데, 해당 강의의 질문하기란에 수강생 분이 이미 친절하게 남겨뒀습니다.
SHA1 키를 등록하지 않아서 생긴 문제였습니다! 빠밤! :tada:
우측상단 Gradle을 클릭하고 signingReport에서 SHA1을 확인하고 카피해줍니다.
Firebase에서 해당 프로젝트의 Authentication을 클릭하고, sign-in method Google의 프로젝트 수준 설정을 클릭해줍니다. 인증서 지문 칸에 카피해온 SHA1을 넣고 저장해줍니다.
다시 google로그인을 시도했을 때, 정상적으로 회원등록이 되고 MainActivity로 넘어가는 것을 확인할 수 있습니다!