概述
CloudBase 提供跨平台的登录鉴权功能,您可以基于此为自己的应用构建用户体系,包括但不限于:
- 为用户分配全局唯一的身份标识 uid;
- 储存和管理用户个人信息;
- 关联微信登录;
- 管理用户对数据、资源的访问权限;
- 用户行为的收集和分析。
同时,CloudBase 登录鉴权还是保护您的服务资源的重要手段,CloudBase 对用户端发来的每一个请求,都会进行身份和权限的检查,避免您的资源被恶意攻击者消耗或者盗用。
适用范围
登录鉴权(v2 beta) 适用于@cloudbase/js-sdk@2.x
版本,如您使用的 SDK 版本为 1.x,请参考 登录鉴权(v1)。
登录鉴权方式
云开发 CloudBase 提供以下登录鉴权方式供不同的用户场景使用:
登录类型 | 场景 |
---|---|
匿名登录 | 用户以临时的匿名身份登录云开发,无需注册。 |
邮箱登录 | 用户使用自己的邮箱+密码登录。 |
微信授权登录 | 1、经微信公众平台授权的公众号网页; 2、经微信开放平台用授权的网站。 |
自定义登录 | 开发者可以完全接管登录流程,例如与自有的账号体系打通、自定义登录逻辑等。 |
用户名密码登录 | 用户使用自己的用户名+密码登录。 |
微信小程序登录 | 已开通云开发的微信小程序初始化后便同步完成登录鉴权,无需额外操作。 |
短信验证码登录 | 用户使用自己的手机号+验证码登录。 |
CloudBase 用户
每个登录 CloudBase 的用户,都有一个对应的 CloudBase 账号,用户通过此账号访问调用 CloudBase 的数据与资源。
UID
每个账号都有全局唯一的 UID,即账号 ID,作为用户的唯一身份标识。
用户信息
每个账号可以添加、修改用户信息,请参考 管理用户。
登录方式
每个账号除了最初的登录方式之外,还可以关联其它登录方式,请参考 账户关联。
登录状态的持久化
在 @cloudbase/js-sdk@2.x
版本中,登录状态只支持 local
方式(Web 端在显式退出登录之前 30 天保留身份验证状态)存储身份状态。(原 1.x 版本的 session
及 none
模式不再支持)。
访问令牌与刷新令牌
用户登录 CloudBase 之后,会获得访问令牌(Access Token) 作为访问 CloudBase 的凭证,访问令牌默认具有两小时有效期。
登录时还会获得刷新令牌(Refresh Token),默认有效期 30 天,用于访问令牌过期后,获取新的访问令牌。
CloudBase 用户端 SDK 会自动维护令牌的刷新和有效期,开发者无需特别关注此流程。
注意
匿名登录 的刷新令牌(Refresh Token)会在到期后自动续期,以实现长期的匿名登录状态。