0

我正在创建一个Android本机应用程序,并且正在使用具有多个身份验证提供的Firebase身份验证,例如;电子邮件,Facebook,Google等,我将使用Firebase SDK进行聊天和实时数据库。安全地将Android Firebase身份验证用户存储在MySQL数据库中

我有一个RESTful API与MySQL(类似于Facebook,朋友,​​私人和公共帖子),PHP服务器后面的用户数据库,我想同步Auth,以便我可以确保用户是正确并有权访问他们有权访问的数据。我可以编辑和更改我的数据库,这样我就可以在此修改它。

(我本来以为我可能需要类似的OAuth不过我不再觉得这是必要的)

经过大量的研究,我认为我需要进行安全通信的用户的电子邮件和火力地堡验证令牌MySQL同时保持细节同步?看起来这将是相当普遍的事情,但我一直无法找到明确的答案。

(如果上述声明是真实的)

我的问题是:

  • 是电子邮件和身份验证令牌所有需要通过服务器
  • 如若验证令牌身份验证用户使用PHP SDK发送到Firebase SDK
  • 如何在MySQL数据库中将证书存储在安全性方面
  • Auth令牌如何过期和/或成为参考reshed
  • 信息如何从Android客户端安全地发送到MySQL数据库
  • 什么是正确的步骤和策略更新身份验证令牌
  • 什么是验证信息,如电子邮件地址正确的同步策略和客户端和服务器
  • 之间令牌难道我甚至在正确的轨道:)

我是新来的最验证的概念。

问候

回答

1
  1. 是电子邮件和身份验证令牌所有需要通过AUTH服务器的用户:你只需要验证ID令牌。你可以从中得到电子邮件。每次发送到服务器时都需要验证ID令牌。检查https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library

  2. 应该使用PHP SDK将验证令牌发送到Firebase SDK:反过来。 ID令牌位于客户端,您调用getIdToken,然后将其发送到您的后端服务器。

  3. 关于安全性,凭证应该如何存储在MySQL DB中:您不需要在凭据中存储凭证。您可以存储会话信息,但凭据在客户端上生成并刷新。

  4. Auth令牌如何过期和/或被刷新:调用user.getIdToken将始终返回新的令牌。如果令牌未过期,则返回缓存的令牌。如果过期,它将被刷新并返回新的。每次您通过身份验证的用户发送某个请求时,您都需要调用此方法。
  5. 信息如何从Android客户端安全地发送到MySQL数据库:您应该始终使用用户的ID令牌发送它。确保你使用https协议。始终验证服务器上的ID令牌。
  6. 什么是更新验证令牌正确的步骤和策略:使用user.getIdToken()
  7. 什么是验证信息,如电子邮件地址和客户端和服务器之间的令牌的正确的同步策略:令牌不需要存储在你的服务器上。您可以信任令牌中的电子邮件。用户的电子邮件可能在客户端更新。当发生这种情况时,令牌电子邮件也应该更新。