首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过MySQL数据库(IOS)同步Firebase?

如何通过MySQL数据库(IOS)同步Firebase?
EN

Stack Overflow用户
提问于 2019-02-15 06:45:03
回答 1查看 1.1K关注 0票数 1

我正在iOS应用程序中构建注册/登录/保存功能。

注册/登录时,我选择“Firebase Auth”。

但是,Firebase Auth只能保存基本属性(例如。电邮地址、密码、网址等)

因此,为了保存用户的其他属性,我计划单独使用额外的MySQL数据库(通过创建用户数据库、用户表、userID主键和其他列)。

为了与Firebase和MySQL通信,我发现必须进行用户验证。

JWT(Json令牌)将用于验证。

但是,要使用JWT验证用户,我认为Firebase和MySQL都必须预先拥有公用密钥(如userID、etc地址等)。

但我不确定这是否是常见的方法(容易和安全)。

我读过多条线索,

Securely store Android Firebase Auth users in a MySQL database

Can i build an Android app that uses Firebase authentication but a custom database(eg MySQL)

Firebase, how to use auth service with a node.js RESTapi backend

但我无法完成这一过程的第一步。

现在我有问题要问。

Question1。到目前为止,我所理解的是对的?

Question2。要验证用户,在“SignUp”步骤中,是否需要预先在Firebase和MySQL中存储公共密钥?

问题2-1-1(如果是的话)如果在Firebase和MySQL中拥有相同的数据,这不是一个安全问题吗?(当然,我不能在MySQL中保存任何其他私有数据(密码、电话号码等))

问题2-1-2(如果是的话)你认为公共密钥的最佳数据是什么?(userID、电子邮件地址、自动递增的userID等)

问题2-2。(如果不是)如何通过MySQL同步Firebase和iOS?

Question3。那么,整个过程是正确的吗?

  1. 设置iOS,Firebase Auth,MySQL
  2. 当用户注册时,电子邮件地址(可能也包括userID)将被发送到Firebase Auth和MySQL。但密码只会发送到Firebase。
  3. 在登录期间,如果用户设置并保存首选项,则iOS将将数据发布到MySQL中“用户”表中的“userID”行。
  4. 当用户再次登录时,iOS将从Firebase Auth获得令牌并发送到MySQL。
  5. 令牌将用于通过比较解密令牌和MySQL公用密钥来验证用户。
  6. 如果经过验证,MySQL将向iOS发送用户的其他属性。
  7. iOS将获取用户的属性数据。

这是我构建此功能的第一次体验。

请回答我的问题!

提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2019-02-15 16:57:54

不,你不需要事先储存公用钥匙。

当用户登录时,您将在客户端(iOS设备)上获得一个JWT。然后,将此JWT附加到服务器上的每个请求的头上。然后,在您的服务器上,您将使用这个JWT来使用Firebase进行身份验证,如果成功,它将返回一个用户id。你可以把它存储在你的数据库里。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54703955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档