繁体   English   中英

如何使用 AWS Amplify 和 React 在注册后让用户登录

[英]How to sign user in after registration using AWS Amplify and React

当用户使用withAuthenticator组件注册时,他们会在确认其 email 地址后自动登录。 是否可以使用自定义登录流程和Auth object 自动登录? 这将如何实现?

我最近处理了一个问题,我想使用 Amplify 的Storage模块,但必须实现Auth模块才能做到这一点。 我有一个有效的登录流程,不希望它受到干扰,所以我使用Auth api 在后台将用户登录到 AWS,同时使用我的原始流程将他们登录到我的应用程序。

文档描述了如何在此处以编程方式登录用户: https : //docs.amplify.aws/lib/auth/emailpassword/q/platform/js

实现 JS 代码并不难

import { Auth } from 'aws-amplify';

async function signIn() {
    try {
        const user = await Auth.signIn(username, password);
    } catch (error) {
        console.log('error signing in', error);
    }
}

我实现了一个预注册 lambda 触发器来自动确认用户、他们的电子邮件等 bc 我不希望这个 Auth 流程中断我现有的流程。 此处描述了此方法: https : //docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html#aws-lambda-triggers-pre-registration-example- 2

这是我在工作时做的笔记,以防它有助于为您提供更多背景信息。 对不起,如果他们感到困惑,他们只是让我阅读: https : //www.evernote.com/shard/s713/sh/ccf96dcc-b51e-9963-5207-ac410b02a13a/0bcdb4bc85ea8a31b7f5621a37812

从 Amplify JS API v4.3.29 开始,现在可以了。 只需在 signUp 方法中包含autoSignIn属性。

 Auth.signUp({
  username: 'xxxxxx',
  password: '*********,
  attributes: {
    email: 'xxxxxxxxxx'
  },
  autoSignIn: {
    enabled: true
  }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM