【发布时间】:2017-11-14 20:12:27
【问题描述】:
当有人登录时,我使用 Firebase ID 令牌在我的网站上显示数据。 我将令牌保存在客户端的 cookie 中,当客户端访问网站时,它会从其 cookie 文件中获取令牌并将其发送到我的后端服务器。
我想在重置密码时删除所有 ID 令牌,这样所有使用该用户名和密码登录的客户端都会断开连接。
这个选项有效吗?如果是这样,你该怎么做?他们似乎没有在他们的文档中提到它。
【问题讨论】:
-
真的有必要将 ID 令牌存储在 cookie 中吗?用户登录 Firebase 后,您始终可以使用 firebase.auth.currentUser.getIdToken() 检索他们的 ID 令牌。您还可以管理用户离开您的站点时如何保持 Firebase 身份验证状态(请参阅firebase.google.com/docs/auth/web/auth-state-persistence)。您还没有解释您的整个用例,但是这两个项目可以让您在不使用任何 cookie 的情况下实现您想要的。
-
这就是我当前系统的工作方式:我有 firebase 函数来监听来自我的网站的 GET 请求以获取登录输入。在他们使用 GET 请求获得电子邮件和密码后,他们从后端登录用户并仅向用户发送我选择显示的重要内容。我没有从客户端登录到firebase,登录发生在服务器端并发送到客户端。这就是我可以使用 PHP 将令牌发送到我的后端检查并发送数据的方式
-
我有点困惑。用户是否在您的网络客户端上输入他们的 ID/密码,然后将 ID/密码传递到您的 PHP 后端,然后您的 PHP 后端将 ID/密码发送到 Firebase 函数?实际的 Firebase 身份验证发生在哪里——在 PHP 代码中还是在 Firebase 函数中?还是我完全误解了你的设置?
-
身份验证通过 GET 请求在 firebase 函数中进行。之后,我使用一些 PHP 和另一个 GET 请求从函数中获取用户数据。
标签: firebase cookies firebase-authentication