管理用户 - C++ SDK
当您使用Atlas App Services支持客户端应用时,您可以访问权限用户对象。 将C++ SDK方法与此用户对象结合使用,可以方便地:
创建和删除用户
登录和注销用户
创建和更新自定义用户数据
创建和删除用户
对于除电子邮件/密码身份验证之外的所有身份验证提供者,App Services 会在用户首次进行身份验证时自动创建用户对象。使用电子邮件/密码身份验证时,您的应用必须手动注册用户。
C++ SDK 尚不支持通过 SDK 删除用户。 您可以使用App Services Admin API delete a user
端点从服务器中删除用户。 您可以选择创建一个使用 Admin API 删除用户的Atlas Function ,并从 SDK 中调用该函数。
登录和注销用户
使用一个或多个身份验证提供程序让用户登录和退出客户端应用程序。 您可以:
使用现有的社交帐户(例如 Apple、Facebook 或 Google)让用户登录。
使用Atlas App Services电子邮件/密码管理、您自己的自定义函数或自定义 JSON Web 令牌用户管理创建新用户帐户。
启用匿名用户,无需持久用户数据即可访问您的 App Services App。
当您有登录用户时,您可以使用 SDK 方法:
使用用户的配置对象打开同步 Realm
以登录用户身份运行后台函数
成功登录后,C++ SDK 会将凭证缓存在设备上。 您可以绕过登录流程并访问缓存的用户。 使用它可以打开 Realm 或在后续应用程序打开时调用函数。
用户会话
Atlas App Services使用访问令牌和刷新令牌管理会话。 客户端 SDK 提供管理令牌并向其提供请求的逻辑。
Realm 使用刷新令牌在用户的访问令牌过期时自动更新该令牌。 但是,Realm不会自动刷新刷新令牌。 当刷新令牌过期时,SDK 无法再获取更新的访问令牌,并且在用户再次登录之前设备无法进行同步。
读取和更新自定义用户数据
您可以将自定义数据与用户对象(例如首选语言或本地时区)相关联,并从客户端应用程序中读取这些数据。 用户对象具有可用于访问自定义用户数据的customData
属性。
要创建和更新自定义用户数据,您必须直接访问 MongoDB 数据源。 App Services 不提供创建或更新此自定义用户数据的 SDK 方法;它是只读属性。