javascript - 如何使用 Firebase 从云功能端查找用户是否已登录?
问题描述
为了提供动态内容交付,我在火力基地托管中使用了重写。每当打开网站时index.html
,浏览器都会请求 Firebase 云功能main
。
"rewrites": [ {
"source": "/index.html",
"function":"main"
}]
现在我面临一个基于用户登录状态提供动态内容的问题。我还检查了使用 JS 的客户端身份验证。
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
// User is signed in.
} else {
// No user is signed in.
}
});
我不知道网络开发。在这里我有几个问题,
如何以更灵活的方式查找用户的身份验证状态?cookie 是否用于此目的?我问是因为我不知道传递firebase-token
给云功能main
。
请给我一个想法。谢谢你们。
解决方案
简短回答:最终用户没有在后端可见的登录状态。这不是 Firebase 身份验证的工作方式。
身份验证客户端提供凭据以获取用于在调用后端服务时标识自己的令牌。此令牌的生命周期为 1 小时,客户端必须刷新它才能继续使用它。您的后端不知道也不关心客户端是否有身份验证令牌,他们是否使用它,或者他们是否刷新它。 客户端只需要从他们登录的任何设备提供该令牌,以便后端可以验证它。您的后端无法知道客户端是否获得了令牌 - 您只需要接受给定的令牌即可。这意味着您将不得不真正弄清楚如何传递该令牌并使用 Firebase Admin SDK 对其进行验证,或者使用 Firebase Client SDK 使用可调用类型函数来自动发送该令牌.
推荐阅读
- c# - 我的代码没有根据从组合框 c# 中的选择切换到所需的功能
- python-3.x - 使用按位函数,然后尝试进行二进制补码但没有成功
- r - ggplot图例没有出现
- node.js - mongoose-mpath 模块正在创建文档但未分配给它的父级
- api - 在微服务中将数据分组在一起
- python - 我可以在 Python 列表理解中创建一个变量吗?
- flutter - 建议:添加 'tools:replace="android:name"'
AndroidManifest.xml 中要覆盖的元素 - nativescript - Nativescript 饼图图例项水平显示
- java - @PathVariable 不加载资源 [CSS & JS] - Thymeleaf
- javascript - 反应原生推送通知本地通知未显示在真实设备上