1

我正在通过 Firebase SDK 对客户端进行身份验证,以便用户访问我的应用程序。然后启动客户端会话。我希望用户能够向 PHP 端点发布一些数据。我希望 PHP 脚本检查请求是否来自经过身份验证的用户,然后验证其余数据。如果一切正常,我们将完成操作。

我想这样做:

  • 用户是经过身份验证的客户端
  • 在 Auth 事件中,通过 ajax 向专用 PHP 脚本发出对带有用户 ID 的 JWT 令牌的请求。生成令牌后,它将存储在会话 cookie 中。
  • 表单提交将携带 JWT 令牌,端点将解码令牌并检查存储在其中的 uid 是否是在 Firebase DB 中注册的有效用户 ID。

从安全的角度来看是好主意还是坏主意?

4

1 回答 1

1

第一条经验法则是,为了验证 Firebase 生成的 JWT,您需要 Firebase 的密钥。第二条经验法则是,您的 Firebase 机密永远不应发送或存储在客户端上。

鉴于此,要通过 PHP 验证 JWT,您需要使用一个库来对其进行解码并验证它是否已由您的 Firebase 密钥签名。一旦您验证了这一点,我会查看 JWT 的 uid,看看它是否与拥有该资源的用户的 uid 匹配。

于 2015-10-10T00:05:42.937 回答