管理用户 - Swift SDK
Overview
当您使用Atlas App Services支持客户端应用时,您可以访问权限用户对象。 将Swift SDK方法与此用户对象结合使用,可以方便地:
创建和删除用户
登录和注销用户
创建和更新自定义用户数据
从社交登录提供商读取用户元数据
创建和删除用户
对于除电子邮件/密码身份验证之外的所有身份验证提供程序,App Services 会在用户首次进行身份验证时自动创建用户对象。 如果用户通过多种方法进行身份验证,您可以将这些用户身份链接到单个用户对象。
您可以删除用户对象。 删除用户对象会删除附加到用户对象的元数据,但不会从后端删除用户输入的数据。
提示
苹果帐号删除要求
Apple 要求通过其App Store 必须为创建帐户的任何用户提供删除帐户的选项。无论您使用的是必须手动注册用户的身份验证方法(例如电子邮件/密码身份验证),还是自动创建用户的身份验证方法(例如“通过 Apple 登录”),都必须在 6 月 之前实现 用户帐户删除 , 。302022
登录和注销用户
使用一个或多个身份验证提供程序让用户登录和退出客户端应用程序。 您可以:
使用现有的社交帐户(例如 Apple、Facebook 或 Google)让用户登录。
使用Atlas App Services电子邮件/密码管理、您自己的自定义函数或自定义 JSON Web 令牌用户管理创建新用户帐户。
启用匿名用户,无需持久用户数据即可访问您的 App Services App。
当您有登录用户时,您可以使用 SDK 方法:
使用用户的配置对象打开同步 Realm
以登录用户身份运行后台函数
从设备中删除用户
成功登录后,Swift SDK 会将凭证缓存在设备上。 您可以绕过登录流程并访问缓存的用户。 使用它可以打开 Realm 或在后续应用程序打开时调用函数。
用户会话
Atlas App Services使用访问令牌和刷新令牌管理会话。 客户端 SDK 提供管理令牌并向其提供请求的逻辑。
Realm 使用刷新令牌在用户的访问令牌过期时自动更新该令牌。 但是,Realm不会自动刷新刷新令牌。 当刷新令牌过期时,SDK 无法再获取更新的访问令牌,并且在用户再次登录之前设备无法进行同步。
有关管理用户会话和令牌的更多信息,请参阅 Atlas App Services文档中的 用户会话 。
Swift SDK将这些令牌存储在“ 钥匙串”中 。
读取和更新自定义用户数据
您可以将自定义数据与用户对象(例如首选语言或本地时区)相关联,并从客户端应用程序中读取这些数据。 用户对象具有可用于访问自定义用户数据的 customData
属性。
要创建和更新自定义用户数据,您必须直接访问 MongoDB 数据源。 App Services 不提供创建或更新此自定义用户数据的 SDK 方法;它是只读属性。
从登录提供商读取用户元数据
某些身份验证提供者允许开发者访问用户元数据,例如全名或电子邮件地址。 在 App Services 应用程序上配置这些元数据字段时,您可以从客户端应用程序读取此元数据。用户对象具有可用于访问用户元数据的profile
属性。