跳到主要内容

账户关联

每个云开发用户账号,除了最初注册时使用的登录方式外,还可以关联其他登录方式。关联后,无论用户使用哪种登录方式,均可以登录到同一个云开发账户。

关联微信登录#

关联微信登录的步骤如下:

  1. 用户以任意一种登录方式(除微信登录)登录云开发

  2. 获取微信授权 token

提示

可以参考微信授权登录获取 provider_token

  1. 使用授权 token 关联微信登录
const app = cloudbase.init({  env: "xxxx-yyy"});const provider_token = "test_provider_token"; // 上一步取得的授权 token
const auth = app.auth();await auth.bindWithProvider({  provider_token});

关联邮箱密码登录#

假设当前用户支持密码登录,则下面的方式可以为当前用户绑定邮箱,绑定后,用户则可以使用邮箱+密码完成登录:

  1. 用户以任意一种登录方式登录云开发
  2. 向用户邮箱发送验证邮件
const auth = app.auth();// 假设用户邮箱为 "test@example.com"const email = "test@example.com";
// 获取邮箱验证码const verification = await auth.getVerification({  email: email});
  1. 校验用户输入的验证码并获取 sudo_token
// 假设用户输入的验证码为 000000const verificationCode = "000000";
// 校验验证码const verificationTokenRes = await auth.verify({  verification_id: verification.verification_id,  verification_code: verificationCode});
// 假设用户输入的密码为 passwdconst password = "passwd";// 获取 sudo_token, sudo_token 的过期时间默认为10分钟。const sudoToken = await auth.sudo({  password: password});
  1. 使用校验 token 和 sudo_token 绑定邮箱
await auth.bindEmail({  sudo_token: sudoToken,  email: email,  verification_token: verificationTokenRes.verification_token}); 

关联手机号密码登录#

假设当前用户支持密码登录,则下面的方式可以为当前用户绑定手机号,绑定后,用户则可以使用手机号+密码完成登录:

  1. 用户以任意一种登录方式登录云开发
  2. 向用户手机发送验证短信
const auth = app.auth();// 假设用户手机号为 13800000000const phoneNumber = "+86 13800000000";
// 获取验证码const verification = await auth.getVerification({  phone_number: phoneNumber});
  1. 校验用户输入的验证码并获取 sudo_token
// 假设用户输入的验证码为 000000const verificationCode = "000000";
// 校验验证码const verificationTokenRes = await auth.verify({  verification_id: verification.verification_id,  verification_code: verificationCode});
// 假设用户输入的密码为 passwdconst password = "passwd";// 获取 sudo_token, sudo_token 的过期时间默认为10分钟。const sudoToken = await auth.sudo({  password: password});
  1. 使用校验 token 和 sudo_token 绑定手机号
await auth.bindPhoneNumber({  sudo_token: sudoToken,  phone_number: phoneNumber,  verification_token: verificationTokenRes.verification_token});