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

时间:2018-08-15 19:52:01

标签: javascript php firebase firebase-authentication

我正在使用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 个答案:

答案 0 :(得分:1)

要安全地知道哪些用户正在访问您的网站,您:

  1. retrieve the ID token of the user on the client
  2. 将生成的JWT安全地发送到您的后端
  3. decode and verify the ID token on your back-end

理想情况下,您将使用Firebase Admin SDK进行最后一步。但是很遗憾,目前还没有官方的PHP Firebase Admin SDK。有一个第三方库似乎支持validating ID tokens in PHP,但我自己从未尝试过。当然,JWT是定义明确的标准,因此https://jwt.io/上有许多语言的支持库。