跳到主要内容

邮箱登录

使用邮箱登录,您可以让您的用户使用自己的邮箱和密码注册、登录 CloudBase,并且还可以更新登录使用的邮箱和密码

版本说明
  • 登录鉴权(v2) 适用于 @cloudbase/js-sdk@2.x 版本
  • 如您使用的 SDK 版本为 1.x,请参考 登录鉴权(v1)
  • v2 版本暂不支持公众号登录方式,如需使用该方式,请用 v1 版本

本文将以 V2 版本进行介绍

前置动作

开启邮箱登录

  1. 前往 云开发/身份认证
  2. 在登录方式列表中,选择 邮箱登录 - 配置发件人
  3. 配置邮箱发件人SMTP配置后,开启邮箱登录

常见邮箱SMTP配置

邮箱SMTP服务器主机SMTP服务器端口SMTP安全模式
qq邮箱smtp.qq.com465/578SSL(465)/STARTSSL(587)
腾讯企业邮箱smtp.exmail.qq.com465SSL
163邮箱smtp.163.com465SSL
gmailsmtp.gmail.com465/578SSL(465)/STARTSSL(587)

注册流程

使用邮箱进行注册时,您需要先发送邮箱验证码,然后通过验证码完成注册。

auth 实例请参考 SDK 初始化

// 1. 发送邮箱验证码
const email = "test@example.com";
const verification = await auth.getVerification({
email: email
});

// 2. 验证码验证
// 假设这里收到用户填写的验证码"000000"
const verificationCode = "000000";
// 验证验证码的正确性
const verificationTokenRes = await auth.verify({
verification_id: verification.verification_id,
verification_code: verificationCode
});
// 3. 如果该用户已经存在,则登录
if (verification.is_user) {
await auth.signIn({
username: email,
verification_token: verificationTokenRes.verification_token
});
} else {
// 4. 否则,则注册新用户,注册新用户时,可以设置密码,用户名
// 备注:signUp 成功后,会自动登录
await auth.signUp({
email: email,
verification_code: verificationCode,
verification_token: verificationTokenRes.verification_token,
// 可选,设置昵称
name: "手机用户",
// 可选,设置密码
password: "password",
// 可选,设置登录用户名
username: "username"
});
}
密码强度要求

密码长度不小于 8 位,不大于 32 位,需要包含字母和数字。

登录流程

邮箱密码登录

Auth.signIn 方法可用于 手机号,邮箱,用户名 登录

  await auth.signIn({
username: email,
password: "your-password"
});

验证码登录

Auth.signInWithEmail 方法可用于 手机号验证码 登录

const email = 'xxx'

// 发送验证码
const verificationInfo = await auth.getVerification({
email: email,
});

// 假设这里收到用户填写的验证码"000000"
const verificationCode = "000000";

// 验证码登录
await auth.signInWithEmail({
verificationInfo,
verificationCode: verificationCode,
email: email,
});

常见邮箱服务器

QQ邮箱

第 1 步:登录 QQ 邮箱

进入 QQ 邮箱首页,登录您的 QQ 邮箱。

第 2 步:开启 IMAP/SMTP 服务

登录邮箱后,进入「设置-账户」:

然后,在「账户」设置中,找到「开启服务」设置项,开启 IMAP/SMTP 服务:

开启成功后,请保存您的邮箱登录授权码:

注意

您也可以开启 POP3/SMTP 服务,两种服务的授权码都可以作为第 3 步的 SMTP 账号密码。

第 3 步:配置 QQ 邮箱作为发件人

使用 QQ 邮箱作为发件人地址和 SMTP 账号用户名,使用第 2 步的授权码作为 SMTP 账号密码。

gmail邮箱

第 1 步:登录 gmail 邮箱

gamil邮箱默认已开启IMAP/SMTP服务,此步骤验证邮箱是否可用

第 2 步:开启google账号两步验证

https://myaccount.google.com/security?utm_source=OGB&utm_medium=app

点击安全(Security)-->两步验证(2-Step Verification)开启

第 3 步:开启google账号app密码

https://support.google.com/accounts/answer/185833?hl=zh-Hans

第 4 步:配置云开发平台邮箱登录SMTP

邮箱SMTP服务器主机
发件人你的gmail邮箱
SMTP服务器主机smtp.gmail.com
端口465
SMTP账号用户名你的gmail邮箱
SMTP账号密码第3步的app密码
SMTP安全模式SSL