跳到主要内容

概述

CloudBase 提供跨平台的登录鉴权功能,您可以基于此为自己的应用构建用户体系,包括但不限于:

  • 为用户分配全局唯一的身份标识 uid;
  • 储存和管理用户个人信息;
  • 关联多种登录方式;
  • 管理用户对数据、资源的访问权限;
  • 用户行为的收集和分析。

同时,CloudBase 登录鉴权还是保护您的服务资源的重要手段,CloudBase 对用户端发来的每一个请求,都会进行身份和权限的检查,避免您的资源被恶意攻击者消耗或者盗用。

适用范围

登录鉴权(v1) 适用于@cloudbase/js-sdk@1.x版本,如您使用的 SDK 版本为 2.x,请参考 登录鉴权(v2 beta)

登录鉴权方式

云开发 CloudBase 提供以下登录鉴权方式供不同的用户场景使用:

登录类型场景
匿名登录用户以临时的匿名身份登录云开发,无需注册。
邮箱登录用户使用自己的邮箱+密码登录。
微信授权登录1、经微信公众平台授权的公众号网页; 2、经微信开放平台用授权的网站
自定义登录开发者可以完全接管登录流程,例如与自有的账号体系打通、自定义登录逻辑等。
用户名密码登录用户使用自己的用户名+密码登录。
微信小程序登录已开通云开发的微信小程序初始化后便同步完成登录鉴权,无需额外操作。
短信验证码登录用户使用自己的手机号+验证码登录。

CloudBase 用户

每个登录 CloudBase 的用户,都有一个对应的 CloudBase 账号,用户通过此账号访问调用 CloudBase 的数据与资源。

UID

每个账号都有全局唯一的 UID,即账号 ID,作为用户的唯一身份标识。

用户信息

每个账号可以添加、修改用户信息,请参考 管理用户

登录方式

每个账号除了最初的登录方式之外,还可以关联其它登录方式,请参考 账户关联

登录状态的持久化

您可以指定登录状态如何持久保留。默认为 local,相关选项包括:

说明
session在 SessionStorage 中保留登录状态,当前页面关闭后会被清除。
local在本地存储中长期地保留登录状态。
none在内存中保留登录状态,当前页面刷新、重定向之后会被清除。

例如,对于网页应用,最佳选择是 local,即在用户关闭浏览器之后仍保留该用户的会话。这样,用户不需要每次访问该网页时重复登录,避免给用户带来诸多不便体验。

注意

匿名登录 的持久化类型强制设为 local,外部设置的值会被忽略。

访问令牌与刷新令牌

用户登录 CloudBase 之后,会获得访问令牌(Access Token) 作为访问 CloudBase 的凭证,访问令牌默认具有两小时有效期

登录时还会获得刷新令牌(Refresh Token)默认有效期 30 天,用于访问令牌过期后,获取新的访问令牌。

CloudBase 用户端 SDK 会自动维护令牌的刷新和有效期,开发者无需特别关注此流程。

注意

匿名登录 的刷新令牌(Refresh Token)会在到期后自动续期,以实现长期的匿名登录状态。