ios - 如何自定义 AWS Amplify iOS 身份验证警报?
问题描述
作为 iOS Swift 开发的新手,我想知道是否有人可以帮助我了解为身份验证错误(例如不正确的用户名和密码)自定义客户端警报消息的正确方法。下面是默认的告警信息,以异常名称为标题,用户体验不好。我将如何显示带有另一个标题和消息的警报弹出窗口?
解决方案
处理您的错误响应以定义自定义标题和消息,如下所示。
import AWSCognitoIdentityProvider
extension Error {
var customizedDescription: String {
let nsError = self as NSError
if nsError.domain == AWSCognitoIdentityProviderErrorDomain, let code = AWSCognitoIdentityProviderErrorType(rawValue: nsError.code) {
switch code {
case .expiredCode: return "Verification code has expired. Please try again"
case .codeMismatch: return "Incorrect verification code. Please enter the correct code to continue."
case .notAuthorized: return "Authentication failed. Please enter the correct credentials to continue."
case .usernameExists: return "Username already exists."
case .invalidPassword: return "Invalid password. Please try again."
case .userNotConfirmed: return "User not confirmed. Please verify your account."
default: return nsError.userInfo["message"] as? String ?? "AWS cognito failed with error code: \(nsError.code)"
}
}
return localizedDescription
}
}
https://gist.github.com/Catherine-K-George/11a94271bd0cff282e019cd2613d089b
推荐阅读
- html - vw 和 vh 在谷歌浏览器上似乎无法正常工作
- nhibernate - Joining multiple tables with mapping by code (nhibernate) Join function is not working correctly
- flutter - Flutter Admob - AdWidget is already in the widget tree problem
- javascript - Try/Catch in mulitple awaits in express app
- wordpress - I am getting error in Woocommerce plugin. SoapClient class is not enabled on your server; Some gateway plugins that use SOAP may not work as expected
- apache-spark - Issue with Apache Hudi Update and Delete Operation on Parquet S3 File
- linux - 删除第一个匹配直到新匹配
- spreadsheet - 在 Google 表格中转置事物
- django - 姜戈 | 通过实例查询集多对多关系
- go - 如何在gorm中使用自定义预加载