匿名身份验证
Overview
匿名身份验证提供者允许用户无需提供凭据即可登录应用程序。匿名用户对象拥有唯一的 ID 值,但没有其他元数据字段或配置选项。
警告
匿名用户对象不是用于保存数据。用户注销后,就无法检索任何以前的用户数据。
匿名身份验证的潜在使用案例包括:
对博客或新闻服务读者进行身份验证。
允许最终用户在注册账户之前试用应用程序的功能。
在开发和测试客户端应用程序时简化用户创建。
帐户链接
当有人匿名进行身份验证时,提供商会生成匿名用户对象。如果应用未显式注销此匿名用户,则会重复使用同一匿名用户。匿名用户将持续存在,直到发生以下任一情况:
显式注销。
用户删除。Atlas App Services 会删除 90 天内处于非活动状态的匿名用户对象。
要保留与匿名用户关联的数据,您可以将现有匿名身份与由不同身份验证提供者创建的用户帐户相关联。
重要
匿名用户到期
App Services 可能会删除已存在 90 天(或更早)的匿名用户对象。删除帐户后,该帐户将无法恢复,任何与其相关的用户数据也将丢失。由用户创建或修改的文档不受影响。
配置
您可以从App Services用户界面的 Authentication选项中启用匿名身份验证提供者。
在左侧边栏中选择 Authentication。
选择 Provider 列表中的“Allow users to log in anonymously”(允许用户匿名登录)条目。
单击 Provider Enabled 切换开关,将其移至“打开”状态。
单击页面右下方的 Save 按钮,保存对应用配置的更改。
在页面顶部出现的下拉列表中单击 Review & Deploy Changes。
查看应用配置的更改,然后单击对话框右下角的 Deploy,将更改提供给应用程序用户。
要使用App Services CLI启用和配置匿名身份验证提供者程序,请在 /auth/providers.json
中为其定义一个配置对象。
匿名提供商配置采用以下形式:
{ "anon-user": { "name": "anon-user", "type": "anon-user", "disabled": <boolean> } }
提示
身份验证提供者的 name
始终与其 type
相同。
注意
匿名身份验证提供者没有任何特定于提供商的配置选项。
示例
有关演示如何使用匿名身份验证进行注册和登录的代码示例,请参阅 Realm 软件开发工具包(Realm SDK)的文档:
总结
匿名身份验证允许用户与应用程序交互以创建身份。
要在用户使用不同身份验证提供者创建身份后保留匿名会话中的数据,可以关联这两个身份。