【问题标题】:Firebase Auth - custom authenticationFirebase 身份验证 - 自定义身份验证
【发布时间】:2020-04-01 21:34:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: javascript firebase firebase-authentication


    【解决方案1】:

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

    当你第一次调用signInWithEmailAndPassword成功时,你可以通过

     FirebaseAuth.getInstance().getCurrentUser().getUid 
    

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

    然后在文档里面就可以保存用户的数据了。

    【讨论】:

      猜你喜欢
      • 2022-12-10
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2018-09-26
      • 2019-07-10
      • 2022-08-10
      • 2016-08-04
      • 2020-08-24
      相关资源
      最近更新 更多