如何使用cognito在android中指定自定义错误消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用cognito在android中指定自定义错误消息相关的知识,希望对你有一定的参考价值。

我目前有一个android应用程序,使用amazon-cognito-sdk进行用户登录。当用户不存在或输入错误的密码时显示的消息不是很好所以我想自定义这个但我看不到任何方式这样做?

答案

我在工作中做了类似的事情。基本上,我们将SDK异常映射到我们的内部AuthenticationException类,每个类型都有自己的消息。下面是kotlin中的示例代码。

private fun toAuthError(exception: Exception): AuthenticationError 
    return when(exception) 
        is UserNotFoundException -> AuthenticationError.UserNotFound()
        is InvalidParameterException -> AuthenticationError.InvalidParameter()
        is NotAuthorizedException -> AuthenticationError.UserNotFound()
        is InvalidPasswordException -> AuthenticationError.InvalidPassword()
        is InvalidLambdaResponseException -> AuthenticationError.InvalidResponse()
        is LimitExceededException -> AuthenticationError.LimitExceeded()
        is UsernameExistsException -> AuthenticationError.UsernameExists()
        is UserNotConfirmedException -> AuthenticationError.UserNotConfirmed()
        is CodeMismatchException -> AuthenticationError.VerificationCodeMismatch()
        is ExpiredCodeException -> AuthenticationError.VerificationCodeExpired()
        else -> AuthenticationError.UnknownError()
    

请注意,在认知onFailure回调的AuthenticationHandler期间调用上述方法。

        val authenticationHandler = object : AuthenticationHandler 
            ...
            override fun onFailure(exception: Exception) 
                Timber.e("login Failure $exception")
                subscriber.onError(toAuthError(exception))
            
        

以上是关于如何使用cognito在android中指定自定义错误消息的主要内容,如果未能解决你的问题,请参考以下文章

在 WPF 中指定自定义窗口的默认外观?

如何在FullCalendar v2.1.1中指定自定义日期范围?

Simulink Coder:生成 C 代码时如何从脚本中指定自定义 C 文件?

在 GWT 中指定自定义货币、数字和日期时间格式的好方法是啥?

Rails 4,通过连接表在has_many中指定自定义外键?

是否可以在 Amplify 的 schema.graphql 中指定 2 个带有身份验证注释的 Cognito 用户池?