跳到主要内容

用户名密码登录

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

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

开通用户名密码登录#

进入 云开发 CloudBase 控制台,在 登录授权 设置页面中,开启用户名密码登录:

绑定用户名流程#

注意

用户名绑定只能在注册时完成。

第 1 步:初始化 SDK#

import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({  env: "your-env-id"});

第 2 步:使用其他方式进行注册并设置用户名#

绑定用户名之前,用户需要先使用其他方式进行登录,例如邮箱登录、微信公众号登录等,但不包括匿名登录

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

const auth = app.auth();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 目前不允许直接使用用户名 + 密码的形式注册用户。

登录流程#

第 1 步:初始化 SDK#

import cloudbase from "@cloudbase/js-sdk";
const app = cloudbase.init({  env: "your-env-id"});

第 2 步:使用用户名+密码登录 CloudBase#

const auth = app.auth();// 用户名密码登录const loginState = await auth.signIn({  username: "your username",  password: "your password"});
注意

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