【Firebase Authentication】KotlinでSignIn・SignUp
Android・Kotlinで、Firebase Authentication
を使った、メールアドレスによるSignIn・SignUpの実装をしたので、簡単に手順をまとめてみたいと思います👷♀️
やっていく
まずはFirebase Authentication Android
ライブラリを、アプリレベルのGradle
ファイルに記述してインストールします。
dependencies { // ... implementation platform('com.google.firebase:firebase-bom:26.8.0') implementation 'com.google.firebase:firebase-auth-ktx' // ... }
最後にSignIn
・SignUp
の実装をそれぞれ行っていきます。今回はRxKotlin
のObservable
で処理を受け取れるようにしています。
override fun signUp(email: String, password: String): Observable<String> { val auth = Firebase.auth return Observable.create { e -> auth.createUserWithEmailAndPassword(email, password) .addOnSuccessListener { signInSuccessHandle(e, it) } .addOnFailureListener { e.onError(it) } } } override fun signIn(email: String, password: String): Observable<String> { val auth = Firebase.auth return Observable.create { e -> auth.signInWithEmailAndPassword(email, password) .addOnSuccessListener { signInSuccessHandle(e, it) } .addOnFailureListener { e.onError(it) } } } private fun signInSuccessHandle(e: ObservableEmitter<String>, result: AuthResult) { val user = result.user if (user is FirebaseUser) { e.onNext(user.uid) e.onComplete() } else { e.onError(Exception(context.getString(R.string.unknownError))) } }
てな感じで本日も以上となります🍺