概述
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)会在到期后自动续期,以实现长期的匿名登录状态。