我使用AWS amplify构建了一个简单的Web应用程序。它的authentication module很好用,我可以轻松地将Amazon Cognito用作身份验证提供程序。 Cognito看起来非常有前途,我想在我的项目中使用它。
这种方法的一个问题是,即使大多数用户都不会说英语,但任何Cognito身份验证错误消息都是英语。例如,当AWS Amplify auth模块在屏幕上返回mysqli_stmt_execute()
或user does not exist.
时,我的用户将不满意。
Cognito错误消息是否支持任何非英语语言?
答案 0 :(得分:0)
简短答案:不,不是。您应该以您选择的语言提供错误信息。您还可以使用框架的国际化功能。
出于体系结构的考虑,答案:为什么将错误消息从Cognito传递给用户?有几个不同的问题:
1。视图:您的视图(页面)应显示登录名和收到的错误(如果有)。
2。管理员:您的管理员是这里的中间人。它获取登录表单并将其传递给模型,并从模型中获得boolean
响应;并确定要发送给用户的内容。控制器不知道什么是Cognito或任何其他服务。它所知道的只是您要调用的模型。
3。模型:您的模型负责了解Cognito,并与Cognito进行交流。您从Cognito获得的任何异常都可以在此处存储/记录,然后模型将一般响应发送回控制器。
总而言之,遵循MVC模型并应用纯净代码原则,您绝对不能来回views <-> controller <-> models
,而所有组件都必须知道Cognito是什么。
对于国际化,您的Web框架可以支持它。例如,Playframework supports it。