跳到主要内容

用户名密码登录

使用用户名密码登录,您可以让您的用户绑定用户名,并使用用户名密码登录 CloudBase。您还可以更改密码或者重置密码

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

本文将以 V2 版本进行介绍

如果用户名未被绑定过,需要先使用其他登录方式完成登录后,才可以绑定用户名。绑定成功后,可以使用用户名和密码完成登录。

前置动作

开启用户名密码登录

  1. 前往 云开发/身份认证
  2. 在登录方式列表中,选择 用户名密码登录 方式,点击开启

注册流程

用户名登录的注册比较特殊,需要先使用 其他方式 完成注册,然后在注册过程中设置用户名

目前支持 手机号验证码、邮箱验证码 注册

使用其他方式注册并设置用户名

邮箱登录 为例,在注册新用户时设置用户名:

auth 实例请参考 SDK 初始化

const email = "test@example.com";
auth.signUp({
email: email,
// 参考邮箱登录过程中获得的验证码和校验 token
verification_code: verificationCode,
verification_token: verificationTokenRes.verification_token,
// 设置用户名
username: "userFromEmail",
// 可选,设置密码
password: "password123"
});
用户名规则
  1. 可以包含数字和字母,但是不允许是纯数字
  2. 符号只允许出现 -_,不允许这两个符号出现在开头和结尾
  3. 长度范围是 [1, 32]
为什么必须先使用其他方式注册,再绑定用户名?

用户名可以是符合规则的任意字符串,为了避免您的应用被恶意者注册过多无效的用户名,CloudBase 目前不允许直接使用用户名 + 密码的形式注册用户。

登录流程

在您的项目中需要登录的位置获取到账号密码后,执行如下代码:

const loginState = await auth.signIn({
username: "your username",
password: "your password"
});
注意

用户名登录和邮箱登录的密码是相同的。