跳到主要内容

快速开始

CloudBase 登录鉴权为您的应用提供完整的 用户身份管理访问控制解决方案。通过内置的多种登录方式和安全机制,帮助您快速构建可靠的用户体系。

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

本文将以 V2 版本进行介绍

1. 安装并初始化

安装 SDK

在您的项目中引入 @cloudBase/js-sdk@2.x

npm install --save @cloudbase/js-sdk

初始化 SDK

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

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

// 获取 auth 实例
const auth = app.auth();

2. 用户注册

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

两种注册方式开发只在 发送验证码 时有所区别,后续校验步骤均一致

打开登录方式

前往 云开发/身份认证 打开 短信验证码登录邮箱验证码登录,如下图所示:

发送验证码

1. 发送手机号验证码

// 1. 发送验证码
// 需要加区号
const phoneNumber = "+86 13800000000";
const verification = await auth.getVerification({
phone_number: phoneNumber,
});

2. 发送邮箱验证码

// 1. 发送邮箱验证码
const email = "test@example.com";
const verification = await auth.getVerification({
email: email,
});

验证并注册

发送验证码,并获取到验证码后续步骤

// 2. 验证码验证
// 假设这里收到用户填写的验证码"000000"
const verificationCode = "000000";
// 验证验证码的正确性
const verificationTokenRes = await auth.verify({
verification_id: verification.verification_id,
verification_code: verificationCode,
});

// 3. 注册
// 如果该用户已经存,则登录
if (verification.is_user) {
await auth.signIn({
username: phoneNumber,
verification_token: verificationTokenRes.verification_token,
});
} else {
// 否则,则注册新用户,注册新用户时,可以设置密码,用户名
// 备注:signUp 成功后,会自动登录
await auth.signUp({
phone_number: phoneNumber,
verification_code: verificationCode,
verification_token: verificationTokenRes.verification_token,
// 可选,设置昵称
name: "手机用户",
// 可选,设置密码
password: "password",
// 可选,设置登录用户名
username: "username",
});
}

注册成功,即可在 云开发/云后台/用户管理外部注册用户」中看到

3. 账号登录

目前支持 手机号,邮箱,自定义用户名 作为账号进行登录

密码需要手动设置,如果没有设置可以使用验证码登录

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

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

4. 登录完成

登录后,即可操作数据库、云函数、操作文件存储

下一步

恭喜!您已经掌握了登录鉴权的基本使用方法。

具体登录方式请参考: