Я пытался внедрить постоянное состояние в мое приложение для Android, чтобы пользователи оставались в системе, но я не мог понять документы, поэтому я побежал сюда за помощью.
Вот фрагмент:
firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION)
.then(function() {
// Existing and future Auth states are now persisted in the current
// session only. Closing the window would clear any existing state even
// if a user forgets to sign out.
// ...
// New sign-in will be persisted with session persistence.
return firebase.auth().signInWithEmailAndPassword(email, password);
})
.catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});
Я пробовал много вещей, но я не совсем понял, где они хранят переменную firebase
.
В Документах есть эта строка:
Это изменит тип сохранения в указанном экземпляре Auth для текущего сохраненного сеанса Auth и применит этот тип сохранения для будущих запросов входа в систему
Но я все еще не могНе совсем понятно, какой экземпляр Auth, я использую FirebaseAuth UI.
Вот мой код:
private fun showSignInOptions() {
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN
)
}
// FirebaseUI Auth code.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_SIGN_IN) {
val response = IdpResponse.fromResultIntent(data)
if (resultCode == Activity.RESULT_OK) {
// Successfully signed in
val user = FirebaseAuth.getInstance().currentUser
Log.d("AUTH", "Sign in SUCCESSFUL. $user")
// ...
} else {
Log.d("AUTH", "Sign in failed.")
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
Я звоню showSignInOptions()
в onCreate()
.
Заранее спасибо за помощь: D