认证过程后存储用户对象的最佳实践

时间:2019-03-05 11:48:52

标签: ios swift design-patterns firebase-realtime-database

因此,我发现在构建iOS应用程序时多次问自己这个问题。本质上,我正在开发的大多数应用程序都使用Firebase进行数据存储,并维护一个共享实例,以在身份验证过程完成后在本地存储用户对象。

此过程的主要问题是,在身份验证过程中,用户对象仅包含相对用户信息,例如电子邮件,全名等。但是在其他所有应用程序功能中,可能需要应用程序不时地更新用户对象。而且,通过这种方法,我总是最终要维护双方的远程和本地存储的用户对象。

有没有适当的方法/做法来处理此类问题?

2 个答案:

答案 0 :(得分:1)

Auth0将租户的用户信息存储在托管的云数据库中,或者您可以选择将用户数据存储在自己的自定义外部数据库中。

答案 1 :(得分:1)

您应该检查Auth0,我认为这是您要搜索的“正确方法”。

Auth0是基于云的平台,提供身份验证和授权即服务。作为身份验证提供程序,Auth0使开发人员可以轻松实现和自定义登录和授权安全性。

为什么要同时使用Firebase和Auth0?

需要注意的一件事是,Firebase确实提供了开箱即用的身份验证功能。

我引用:

  

如果您执行以下操作,则应考虑使用具有自定义Firebase令牌的Auth0

     
      
  • 已经实现了Auth0,并希望向您的应用添加实时功能
  •   
  • 需要轻松使用发行的令牌来保护Firebase不提供的后端
  •   
  • 除了Google,Facebook,Twitter和GitHub外,还需要集成社交身份提供商
  •   
  • 需要集成企业身份提供商,例如Active Directory,LDAP,ADFS,SAMLP等。
  •   
  • 需要定制的身份验证流程
  •   
  • 需要使用API​​和易于管理的仪表板进行强大的用户管理
  •   
  • 希望能够动态丰富用户个人资料
  •   
  • 想要的功能,例如可自定义的无密码登录,多因素身份验证,违反密码的安全性,异常检测等。
  •   
  • 必须遵守HIPAA,GDPR,SOC2等合规性规定。
  •   
  • 必须遵守HIPAA,GDPR,SOC2等合规性规定。
  •   
     

从本质上讲,Firebase的基本身份验证提供程序就足够了   如果您有一个非常简单的应用程序,具有简单的身份验证需求,并且   仅使用Firebase数据库。

让我知道您是否需要其他帮助。现在去度过美好的一天!