我正在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。那么,整个过程是正确的吗?
这是我构建此功能的第一次体验。
请回答我的问题!
提前谢谢你!
发布于 2019-02-15 16:57:54
不,你不需要事先储存公用钥匙。
当用户登录时,您将在客户端(iOS设备)上获得一个JWT。然后,将此JWT附加到服务器上的每个请求的头上。然后,在您的服务器上,您将使用这个JWT来使用Firebase进行身份验证,如果成功,它将返回一个用户id。你可以把它存储在你的数据库里。
https://stackoverflow.com/questions/54703955
复制相似问题