AWS аутентификация не сохраняется при закрытии приложения android - PullRequest
2 голосов
/ 21 июня 2020

Я использую 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())
                }

            }
    )
}

1 Ответ

1 голос
/ 04 июля 2020

Наконец-то решил проблему. Проблема была связана с конфигурациями настроек клиента приложения пула пользователей. Я не проверял поставщиков удостоверений в настройках клиента приложения . После выбора «Пул пользователей Cognito» в качестве поставщика удостоверений сеанс входа в систему прошел без каких-либо проблем. Надеюсь, этот ответ поможет кому-то, кто столкнется с подобной проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...