【发布时间】:2018-01-17 14:13:08
【问题描述】:
我正在开发一个 react-native 应用程序,该应用程序使用 Amazon Cognito Identity for JS 来管理用户注册、登录等。我的代码大部分时间都在工作,并且设置为调用 Cognito 服务,例如 CognitoUser。 authenticateUser() 方法可以处理成功和失败。
问题是,在我一直致力于此的那一周里,该服务似乎根本无法在很短的时间内工作。我将开发一个新组件,独立于 Cognito 调用(因此它不应该影响它们的执行),突然间,运行应用程序在尝试登录时简单地挂起。事实上,所有使用 API 的服务器请求都在这些期间挂起期间,无论是登录(使用有效和无效的凭据)还是注册新用户,我都可以跟踪代码的执行,直到进行调用,然后不产生输出。我的登录功能的相关代码如下所示;
console.log('About to authenticate user');
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) { // login successfull
console.log("login successfull")
CognitoUserLogin.setUpSession(result)
callback(true, result)
},
onFailure: function(err) { // login failed
console.log(err)
callback(false, err)
}
})
正如这段代码所示,控制台会在调用“cognitoUser.authenticateUser”之前立即记录,并且应该在函数成功或失败回调后立即记录。大多数情况下都可以正确观察到这种预期的行为,但是当发现这些调用挂起时,控制台似乎只输出第一行“About to authenticate user”,仅此而已,表明方法调用没有回调成功或失败。
由于这段代码似乎几乎一直都在执行,因此根据他们在 (https://status.aws.amazon.com/) 上的服务运行状况仪表板显示,我的问题似乎不是问题,而是 Cognito 服务器的问题。在我身份验证失败的所有这些时间段内,服务器一直在全球范围内正常运行。
我找不到任何人提到服务下降,所以我很担心它可能会继续并导致我的应用程序在看似随机的时间内经常无法使用。最近有没有其他人遇到过这个问题?我只在当天早些时候经历过它,我所有服务器调用的区域都是“eu-west-1”,这对我来说应该有最少的延迟(住在爱尔兰)。
具体来说,我的应用在 2017 年 8 月 5 日星期六(格林威治标准时间)早些时候尝试登录或注册用户时开始挂起,并在当晚晚些时候突然再次运行。昨天(8 月 8 日)我和我的团队一起开发应用程序时,Cognito 电话突然在中午左右再次挂起 10-20 分钟,然后又(奇迹般地)开始工作。今天它在 15:30 左右停止为我工作,近一个小时后仍未响应。虽然它使开发的某些方面变得不可能,因为它们依赖于登录凭据来访问亚马逊服务,但我主要担心的是发布版本会出现相同的问题,这些问题似乎变得更加规律和痛苦(这对于新人来说将是一场噩梦已发布的应用程序)。
任何反馈都将不胜感激,即使有人说他们在使用 Cognito 身份验证时遇到过或没有遇到过这些问题
【问题讨论】:
-
另外我应该注意到,在 iOS 模拟器和真正的 android 设备中观察到了这种缺乏服务器响应的情况
标签: javascript amazon-web-services react-native aws-sdk amazon-cognito