有奖捉虫:云通信与企业服务文档专题,速来> HOT
使用用户名密码登录,您可以让您的用户绑定用户名,并使用用户名密码登录 CloudBase。您可以更改用户名和密码,还可以查询用户名是否绑定过
注意
如果用户名未被绑定过,需要先使用其他登录方式完成登录后,才可以绑定用户名。绑定成功后,可以使用用户名和密码完成登录。

开通用户名密码登录

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




绑定用户名流程

步骤1:初始化 SDK

import cloudbase from "@cloudbase/js-sdk";

const app = cloudbase.init({
env: "your-env-id"
});


步骤2:使用其他方式进行登录

绑定用户名之前,用户需要先使用其他方式进行登录,例如邮箱登录、微信公众号登录等,但不包括匿名登录
下面以 邮箱登录 为例:
const auth = app.auth();
await auth.signInWithEmailAndPassword(email, password); // 邮箱登录

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

步骤3:绑定用户名

绑定用户名时,可以检查在当前云开发环境下,此用户名是否存在。然后再调用绑定用户名的接口。
const auth = app.auth();
if (!(await auth.isUsernameRegistered(username))) {
// 检查用户名是否绑定过
await auth.currentUser.updateUsername(username); // 绑定用户名
}

注意
可以包含数字和字母,但是不允许是纯数字。
符号只允许出现 -_,不允许这两个符号出现在开头和结尾。
长度范围是 [1, 32]

登录流程

步骤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.signInWithUsernameAndPassword(username, password); // 用户名密码登录

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