Firebase Auth-自定义身份验证

时间:2019-12-08 17:01:43

标签: javascript firebase firebase-authentication

我刚刚开始使用Firebase,并且试图在我的应用程序中实现Cloud Firestore和Authentication。让我解释一下上下文:我的Web应用程序将在Moodle和Docebo之类的LMS(学习管理系统)中实现,并符合SCORM。从本质上讲,它将是一个具有一些不错的交互功能的培训课程。该应用程序将无服务器(或者更好,它将与驻留在我客户端服务器上的LMS后端进行交互),并通过Firestore传递和接收数据。

我认为我已经为该项目进行了所有设置,但是我无法将自己的头放在认证系统上。基本上,身份验证将在LMS级别进行:用户将注册并登录LMS,然后开始使用我的应用程序。我可以从LMS中提取数据,例如用户名和她的唯一ID。

因此,我不需要使用Firebase身份验证系统(邮件和密码)进行双重身份验证,该用户在进入我的应用程序时已经登录。但是,我仍然需要Firebase提供的身份验证功能,例如数据库的控制规则,并且还需要为所有用户保留一个数据库,其中包括用户名,ID,电子邮件和一些其他字段。

我该如何解决?我需要一个SignInWithEmailAndPassword方法,但是不需要输入有效的电子邮件/密码。只是我可以从LMS中检索到的ID /令牌。

1 个答案:

答案 0 :(得分:0)

第一次调用codeInWithEmailAndPassword ...时,用户将自动登录。如果未卸载应用程序,则用户将保持身份验证,直到您调用firebase.logout函数。

首次成功调用signInWithEmailAndPassword时,您可以使用

获取当前的userId。
 FirebaseAuth.getInstance().getCurrentUser().getUid 

然后输入用户名。您可以使用与用户ID相同的密钥在firestore的USERS集合中创建文档。

然后在文档内部,您可以保存用户的数据。