邮箱登录
使用邮箱登录,您可以让您的用户使用自己的邮箱和密码注册、登录 CloudBase,并且还可以更新登录使用的邮箱和密码。
开通邮箱登录
第 1 步:开启邮箱登录
进入 云开发 CloudBase 控制台,在 登录授权 设置页面中,开启邮箱登录:
第 2 步:配置发件邮箱
打开右侧「配置发件人」页面,填入您邮箱的 SMTP 账号信息。
第 3 步:设置应用名称及自动跳转链接
打开右侧「应用配置」页面,设置您的应用名称和自动跳转链接。
提示
- 您设置的应用名称将会出现在验证邮件的内容中;
- CloudBase 发送的邮件中会包含一个 URL,用户打开邮件中的 URL 后,会自动跳转到您设置的自动跳转链接。
登录流程
第 1 步:初始化 SDK
- Web
import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({
env: "your-env-id"
});
第 2 步:使用邮箱注册账号
首先需要用户填入邮箱,获取验证码。
- Web
// 假设用户填入的邮箱为 test@example.com
const email = "test@example.com";
const verification = await auth.getVerification({
email: email
});
调用注册接口之后,CloudBase 会使用您预先设置的邮箱,发送一封验证邮件到用户的邮箱。邮件中包含验证码,用户进一步输入验证码后,调用下面的接口验证验证码的正确性。
- Web
// 假设用户输入的验证码为 000000
const verificationCode = "000000";
// 验证验证码的正确性
const verificationTokenRes = await auth.verify({
verification_id: verification.verification_id,
verification_code: verificationCode
});
第 3 步:使用邮箱注册并登录 CloudBase
- Web
// 如果用户已经存在,则登录
if (verification.is_user) {
await auth.signIn({
username: email,
verification_token: verificationTokenRes.verification_token
});
} else {
// 否则,则注册新用户,注册新用户时,可以设置密码,用户名
// 备注:signUp 成功后,会自动登录
await auth.signUp({
email: email,
verification_code: verificationCode,
verification_token: verificationTokenRes.verification_token,
// 可选,设置用户名
username: "userFromEmail",
// 可选,设置密码
password: "password123"
});
}
密码强度要求
密码长度不小于 8 位,不大于 32 位,需要包含字母和数字。
使用 QQ 邮箱配置邮箱登录
第 1 步:登录 QQ 邮箱
进入 QQ 邮箱首页,登录您的 QQ 邮箱。
第 2 步:开启 IMAP/SMTP 服务
登录邮箱后,进入「设置-账户」:
然后,在「账户」设置中,找到「开启服务」设置项,开启 IMAP/SMTP 服务:
开启成功后,请保存您的邮箱登录授权码:
注意
您也可以开启 POP3/SMTP 服务,两种服务的授权码都可以作为第 3 步的 SMTP 账号密码。
第 3 步:配置 QQ 邮箱作为发件人
进入 云开发 CloudBase 控制台,在 登录授权 页面中,打开右侧「配置发件人」页面,选择 QQ 邮箱作为邮箱服务,使用 QQ 邮箱作为发件人地址和 SMTP 账号用户名,使用第 2 步的授权码作为 SMTP 账号密码。