如何在PHP Web应用程序上安全地使用Firebase Auth

6
我正在使用PHP和MySQL构建一个新闻网站。在用户管理方面,我考虑使用Firebase Auth。
登录、密码、电子邮件确认等都将由Firebase进行管理。使用Javascript文档很容易实现这一部分。
但是,在某个时候,Web应用程序需要知道用户的电子邮件地址,例如,以便管理内容并允许访问受限区域,使用PHP连接到MySQL数据库。
Firebase Auth使用JavaScript查找电子邮件地址,例如:
      firebase.auth().onAuthStateChanged(function(user) {

                var user = firebase.auth().currentUser;

                if(user != null){

                  var email_id = user.email;

                }
        }

我应该如何安全地获取用户在会话中登录的电子邮件并使用PHP发送到服务器端?我如何确保会话已过期并使用PHP通知应用程序?这种方法是否值得推荐(Firebase Auth + PHP网站)?
谢谢!
1个回答

10
为了安全地了解用户正在访问您的网站,您需要执行以下操作:
  1. 在客户端检索用户的ID令牌
  2. 安全地将生成的JWT发送到您的后端
  3. 解码和验证后端上的ID令牌
理想情况下,您应该使用Firebase Admin SDK进行最后一步。但不幸的是,还没有官方的Firebase Admin SDK for PHP。有一个第三方库似乎支持在PHP中验证ID令牌,但我自己从未尝试过。当然,JWT是一个定义良好的标准,因此可以在https://jwt.io/上找到许多语言的支持库。

1
感谢分享, Firebase身份验证似乎非常好,因为它减轻了用户的负担。 但是,在我们想要使用现有数据库和语言(如PHP)的情况下,应该有一些流程。 感谢您提供方向。 - Shishir Raven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接