我正在使用 amplify studio 为 amplify React 应用程序配置身份验证。我选择了用户名进行登录,并选择了电子邮件、个人资料和姓名进行注册,如下图所示。
但是当我执行
amplify pull
并使用 npm start
运行应用程序时,注册表单看起来像
它不包含电子邮件、姓名和个人资料输入,但当我通过提供用户名和密码提交时,它会显示错误(在表单上可见)。
amplify pull
之后,我在我的应用程序中添加了以下两段代码
import { withAuthenticator } from '@aws-amplify/ui-react';
最后
export default withAuthenticator(App);
知道我可能做错了什么吗?我正在按照 Udemy 课程 开发此应用程序(如果这可能有助于识别问题)。
我也有同样的问题。
Authenticator
组件(也是withAuthenticator
中使用的组件)应该在执行amplify pull
后自动导出这些组件,但由于某种原因,目前这不起作用。
我认为这背后存在一些配置问题,可能是用户池/身份池的问题,因为这些问题经常出现在身份验证和
Authenticator
问题上。
作为找到根本问题之前的解决方法,您可以直接使用
Authenticator
组件(使用 App
组件包装您的 Authenticator
组件,而不是使用 withAuthenticator
)并手动指定 signUpAttributes
,如文档所示在这里。在你的情况下,这将是 signUpAttributes={['email', 'name', 'profile']}
。
我希望这有帮助!如果您发现根本问题,我也很想知道,因为我自己无法解决。