Я использую AWS Amplify SDK для интеграции Cognito. Фактически, я успешно интегрировал процессы входа и регистрации пользователей на основе документации, доступной здесь . Однако после успешного входа в систему, если мы перезапустим приложение, сеанс пользователя не сохраняется. Amplify.Auth.fetchAuthSession()
всегда возвращает isSignedIn
как false
. Понятия не имею, в чем проблема. Ниже приведен фрагмент «Войти».
fun onSingIn(view: View) {
Amplify.Auth.signIn(
email.value,
password.value,
{ result ->
Log.i(TAG, if (result.isSignInComplete) "Sign in succeeded" else "Sign in not complete")
if (result.isSignInComplete) {
view.context.let {
it.startActivity(Intent(it, FeedActivity::class.java))
signInStatus.postValue(true)
}
}
},
{ error ->
view.context.let {
var message = it.getString(R.string.something_went_wrong)
when (error.cause) {
is UserNotConfirmedException ->{
email.value?.let {emailAddress ->
val direction =LoginFragmentDirections
.actionLoginFragmentToEmailVerificationCodeFragment(emailAddress)
view.findNavController().navigate(direction)
}
}
is UserNotFoundException ->
message = it.getString(R.string.credentilas_incorrect)
else->
viewModelScope.launch(Dispatchers.Main) { it.showToast(message) }
}
Log.e(TAG, error.toString())
}
}
)
}