AWS Amplify Auth:如何禁用 AmplifyConfirmSignUp?
AWS Amplify Auth: How to disable AmplifyConfirmSignUp?
我目前正在使用 AWS Amplify 身份验证,使用 Cognito 进行 React 身份验证。
用户注册必须通过单击他们通过电子邮件收到的确认 link 来确认他们的新帐户。
当 a 提交他们的注册信息时,显示的下一个 UI 是要求用户确认代码的确认注册。我不需要这个阶段,因为这是在用户确认他们的电子邮件时处理的。
我正在使用 react-ui 放大组件来控制身份验证和用户 signup/in/out。
import React from "react";
import "./App.css";
import { BrowserRouter as Router } from "react-router-dom";
import "bootstrap/dist/css/bootstrap.min.css";
import { Container } from "react-bootstrap";
import NavBar from "./components/NavBar.js";
import {
AmplifyAuthenticator,
AmplifySignUp,
AmplifyConfirmSignUp,
AmplifySignOut,
} from "@aws-amplify/ui-react";
import RouteContainer from "./components/RouteContainer";
function App() {
return (
<div>
<AmplifyAuthenticator usernameAlias="email">
<AmplifySignUp
slot="sign-up"
usernameAlias="email"
formFields={[
{
type: "email",
label: "Enter your email",
placeholder: "Enter your email",
required: true,
},
{
type: "password",
label: "Enter your password",
placeholder: "",
required: true,
},
{
type: "custom:postcode",
label: "Enter your postcode",
placeholder: "",
required: true,
},
]}
>
<AmplifyConfirmSignUp/>
</AmplifySignUp>
<AmplifySignOut />
<Router>
<Container>
<RouteContainer />
</Container>
</Router>
<NavBar />
</AmplifyAuthenticator>
</div>
);
}
export default App;
是否有我可以传递的道具来禁用 <AmplifyConfirmSignUp/>
或其他方法来从标准注册流程中禁用它?
谢谢。
您可以在 Cognito 面板中禁用验证。
- 转到https://console.aws.amazon.com/cognito/
- 点击"Manage User Pools"
- 在 "General settings" 中点击 "MFA and verifications"
- 在 "Which attributes do you want to verify?" 下选择 "No verification"
您可以auto-confirm 用户使用 lambda 函数。这是 documentation
- 在响应中创建 lambda 函数 (See Docs) 和 return
autoConfirmUser
。
exports.handler = async (event, _context, callback) => {
console.log(`EVENT: ${JSON.stringify(event)}`);
event.response.autoConfirmUser = true;
callback(null, event);
};
- 将您的 lambda 函数附加到 Pre Sign-up Lambda 触发器
不过,如果用户忘记 his/her 密码,请注意这一点。他将无法恢复它。所以请记住。 Here's more about this on Github
希望对您有所帮助:)
我目前正在使用 AWS Amplify 身份验证,使用 Cognito 进行 React 身份验证。 用户注册必须通过单击他们通过电子邮件收到的确认 link 来确认他们的新帐户。
当 a 提交他们的注册信息时,显示的下一个 UI 是要求用户确认代码的确认注册。我不需要这个阶段,因为这是在用户确认他们的电子邮件时处理的。
我正在使用 react-ui 放大组件来控制身份验证和用户 signup/in/out。
import React from "react";
import "./App.css";
import { BrowserRouter as Router } from "react-router-dom";
import "bootstrap/dist/css/bootstrap.min.css";
import { Container } from "react-bootstrap";
import NavBar from "./components/NavBar.js";
import {
AmplifyAuthenticator,
AmplifySignUp,
AmplifyConfirmSignUp,
AmplifySignOut,
} from "@aws-amplify/ui-react";
import RouteContainer from "./components/RouteContainer";
function App() {
return (
<div>
<AmplifyAuthenticator usernameAlias="email">
<AmplifySignUp
slot="sign-up"
usernameAlias="email"
formFields={[
{
type: "email",
label: "Enter your email",
placeholder: "Enter your email",
required: true,
},
{
type: "password",
label: "Enter your password",
placeholder: "",
required: true,
},
{
type: "custom:postcode",
label: "Enter your postcode",
placeholder: "",
required: true,
},
]}
>
<AmplifyConfirmSignUp/>
</AmplifySignUp>
<AmplifySignOut />
<Router>
<Container>
<RouteContainer />
</Container>
</Router>
<NavBar />
</AmplifyAuthenticator>
</div>
);
}
export default App;
是否有我可以传递的道具来禁用 <AmplifyConfirmSignUp/>
或其他方法来从标准注册流程中禁用它?
谢谢。
您可以在 Cognito 面板中禁用验证。
- 转到https://console.aws.amazon.com/cognito/
- 点击"Manage User Pools"
- 在 "General settings" 中点击 "MFA and verifications"
- 在 "Which attributes do you want to verify?" 下选择 "No verification"
您可以auto-confirm 用户使用 lambda 函数。这是 documentation
- 在响应中创建 lambda 函数 (See Docs) 和 return
autoConfirmUser
。
exports.handler = async (event, _context, callback) => {
console.log(`EVENT: ${JSON.stringify(event)}`);
event.response.autoConfirmUser = true;
callback(null, event);
};
- 将您的 lambda 函数附加到 Pre Sign-up Lambda 触发器
不过,如果用户忘记 his/her 密码,请注意这一点。他将无法恢复它。所以请记住。 Here's more about this on Github
希望对您有所帮助:)