繁体   English   中英

Firebase 身份验证 - 自定义身份验证

[英]Firebase Auth - custom authentication

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

我想我已经为这个项目设置了一切,但我无法理解身份验证系统。 基本上,身份验证将发生在 LMS 级别:用户将注册并登录 LMS,然后将开始使用我的应用程序。 我可以从 LMS 中提取数据,例如用户的姓名和她的唯一 ID。

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

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

一旦您调用 signInWithEmailAndPassword... 第一次运行代码时,用户将自动登录。如果您的应用程序未卸载,则用户将保持身份验证状态,直到您调用 firebase.logout 函数。

当您第一次成功调用 signInWithEmailAndPassword 时,您可以使用

 FirebaseAuth.getInstance().getCurrentUser().getUid 

然后用用户名。 您可以使用与用户 ID 相同的键在 Firestore 的 USERS 集合中创建文档。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM