我们可以仅使用Firebase来处理令牌管理吗?并以传统方式进行身份验证和用户管理。
我想知道仅使用Firebase进行令牌管理的利弊。
当我想将用户保存在MYSQL数据库中并使用Firebase进行身份验证时,有什么建议?
您的所有意见/建议将不胜感激。
答案 0 :(得分:1)
最好的方法是从Firebase获取用户ID,然后将其存储到您的MuSQL数据库中。
我之前已经做过,并且对我来说效果很好。
答案 1 :(得分:0)
是
Firebase通过自定义身份验证系统提供了这样的灵活性。
通过修改身份验证服务器,当用户成功登录时,将生成自定义签名的令牌。您的应用程序会收到此令牌,并使用它来通过Firebase进行身份验证。
优点:
缺点:
您的服务器可能无法扩展,速度很慢,这会导致不良的用户体验 假设您正在使用Javascript,可以通过以下方式实现此目标:
将Firebase添加到您的JavaScript项目中。
获取项目的服务器密钥:
a。。转到项目设置中的“服务帐户”页面。
b。。单击“服务帐户”页面Firebase Admin SDK部分底部的“生成新私钥”。
c。。新服务帐户的公钥/私钥对将自动保存在您的计算机上。将此文件复制到您的身份验证服务器。
使用Firebase进行身份验证
a。。当用户登录您的应用时,请将其登录凭据(例如,用户名和密码)发送到您的身份验证服务器。您的服务器检查凭据,如果有效,则返回自定义令牌。
b。。从身份验证服务器收到自定义令牌后,请将其传递给signInWithCustomToken
以登录用户:
firebase.auth().signInWithCustomToken(token).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
用户首次登录后,将使用一个新的用户帐户 创建并链接到凭据,即用户名和 密码,电话号码或身份验证提供者信息-用户已签名 与。此新帐户存储为Firebase项目的一部分, 并可以用来识别项目中每个应用程序的用户, 不管用户如何登录。
有关实施的更多详细信息,可以搜索 Authenticate with Firebase in JavaScript Using a Custom Authentication System