我希望你们一切都好,
我有一个问题,在过去的几天里,我一直在坚持。 我正在使用React构建一个网站,该网站使用AWS-Amplify进行用户身份验证(适用于Cognito AWS数据库上的用户)。
我正在使用“登录和注册”页面,在使用Chrome时工作正常,但是每当我使用Firefox时,都会出现问题(特别是登录)。
问题: :JS代码中有一部分使用了aws-amplify扩展中的Auth.signin()函数。此函数接收用户名和密码,并返回是否通过用户身份验证。但是,使用Firefox时,此功能会超时,就像浏览器无法从服务器获取响应一样。这是控制台的屏幕截图:
似乎响应是403,但我想这是因为超时。 (try / catch不会捕获任何内容,因为它看起来好像页面冻结了)
我希望我说的清楚,谢谢您花时间阅读所有内容!
答案 0 :(得分:1)
您的请求标头/正文是否包含Firefox中用户的正确用户名和密码,并且是否将请求发送到与Chrome中相同的终结点? 403代码让我认为端点在Firefox请求上格式错误。最后,它是以SRP_AUTH
还是USER_PASSWORD_AUTH
发送的?
此外,由于您正在使用React with Cognito + Amplify for auth *,因此您可能要考虑使用withAuthenticator
提供的aws-amplify-react
高阶组件,并根据需要对其样式进行设置。这样一来,您就无需维护自己的登录逻辑,也不必担心如果浏览器的更改破坏了您的代码等,自己修复该问题。