2017-07-29 79 views
1

我是新开发离子应用程序并实施Facebook登录。我目前正在使用Firebase注册(使用Facebook登录)并将用户存储在我的数据库中。根据身份验证状态,我登录/注册用户。我应该将Firebase与我的数据库一起使用吗?

这是最佳做法吗?或者我可以不使用Firebase并直接使用我的数据库进行身份验证和/或注册用户? Firebase究竟如何让它更容易?

+1

那么firebase确实为您提供了很多实用工具,否则您需要自行实施:JWT生成,验证。与第三方(Facebook,Google等)沟通。跟踪用户的身份验证状态。错误处理.. 编辑:而且你也不负责以保存方式(在电子邮件登录的情况下)存储用户的密码。 – puelo

+1

由于OP似乎只使用Facebook登录,所以最后一个参数不适用。但是不必自己处理OAuth对于我认识的大多数开发人员来说就足够了。 :-) –

回答

0

发表我的评论作为答案,因为我想在您的第一个问题上添加我的意见(并且这将是太长的评论)。 FireWalk确实为您提供了许多实用工具,您可能需要实施自己:JWT生成,JWT验证,与第三方(Facebook,Google等)的沟通,跟踪用户的身份验证状态,错误处理以及与oAuth相关的所有内容(谢谢@Frank van Puffelen)。

另外,如果您使用电子邮件认证,您需要以安全的方式存储密码。

如果最好的做法是使用您自己的数据库?这当然不是不好的做法。您可以解码JWT以提取Firebase ID并使用此ID来验证/查找数据库中的用户。例如:

FirebaseAuth.getInstance().verifyIdToken(firebaseAuthToken) 
    .addOnSuccessListener(new OnSuccessListener<FirebaseToken>() { 
     @Override 
     public void onSuccess(FirebaseToken decodedToken) { 
      decodedToken.getUid(); 
     } 
}); 
相关问题