go - 当用户已被确认时,Cognito 抛出 ErrCodeNotAuthorizedException
问题描述
为什么在ErrCodeNotAuthorizedException "NotAuthorizedException"
向 cognito 请求确认用户时,当用户的状态已经确认时,cognito 会抛出。文档指定ErrCodeNotAuthorizedException
当用户未被授权时抛出。
我们应该如何处理这种情况?因为不清楚我们是否发出了无效的请求,client secret
因为它会抛出相同的错误。
解决方案
由于未经授权的案例和用户已经确认的案例的代码相同,区分案例的唯一可能方法是匹配awsErr.Message()
提供清晰描述错误的代码。
if awsErr, ok := err.(awserr.Error); ok {
switch awsErr.Code() {
case cognitoidentityprovider.ErrCodeNotAuthorizedException:
if awsErr.Message() == "User cannot be confirm. Current status is CONFIRMED" {
log.Println("Handle user already confirmed")
} else {
log.Println("Handle not authorized case")
}
...
default:
}
}
推荐阅读
- android - ARM 的 Android 模拟器无法在 M1 处理器上启动
- python - jax vmap 函数中的调试数组
- javascript - 猫鼬错误:“拓扑被破坏”,有什么问题?
- c++ - 目前是否有任何编译器支持 C++20?
- java - 如何针对您的数据库使用 HikariCP BenchMark
- html - 在环绕文本之后放置一个非环绕元素
- python - 用于科学写作的数组的一部分的数学表达式
- c# - EF 6 Core - 多对多关系数据库优先 (EF Core Power Tools/scaffold-dbcontext)
- python - 使用 os.system 从另一个脚本运行脚本
- python - Python 中的 OCR 机器学习 - 使用 keras 训练模型