Android Firebase : 비밀번호 재설정 이메일 보내기

용씨·2021년 8월 4일
0

[공경진] fillin-map

목록 보기
4/9
   //---------------------비밀번호 재설정----------------------//
    private fun setUpdatePasswordBtn() { // 비밀번호 재설정 버튼 이벤트
            overridePendingTransition(R.anim.anim_slide_in_left, R.anim.anim_slide_out_right)
            // Dialog 띄우기
            val builder: android.app.AlertDialog.Builder = android.app.AlertDialog.Builder(this)
            builder.setTitle("비밀번호 재설정")
            builder.setMessage("비밀번호 재설정 이메일을 보내시겠습니까?")
            builder.setPositiveButton("예"
            ) { dialogInterface: DialogInterface, i: Int ->
                sendEmailForPasswordUpdate()
            }
            builder.setNegativeButton("아니오"
            ) { dialogInterface: DialogInterface, i: Int ->

            }
            builder.show()
        }
    }

    // 비밀번호 재설정하는 메일 보내기
    private fun sendEmailForPasswordUpdate() {
        val auth = FirebaseAuth.getInstance()
        val email = getEmail()
        if(email != null){
            auth.sendPasswordResetEmail(email).addOnCompleteListener {
                if(it.isSuccessful){
                    Snackbar.make(window.decorView.rootView,"이메일을 보냈습니다.",Snackbar.LENGTH_LONG).show()
                }else{
                    Snackbar.make(window.decorView.rootView,"이메일 발송이 실패했습니다.",Snackbar.LENGTH_LONG).show()
                }
            }
        }else{
            Snackbar.make(window.decorView.rootView,"해당 이메일이 존재하지 않습니다.",Snackbar.LENGTH_LONG).show()
        }
    }

    // 사용자 이메일 가져오기
    private fun getEmail () : String? {
        val user = Firebase.auth.currentUser
        if (user != null) {
            user?.let {
                val email = user.email
                return email.toString()
            }
        } else {
            // No user is signed in
            return null
        }
    }
    //----------------------------------------------------------//
profile
아침형 인간이 목표

0개의 댓글