为了提供动态内容交付,我在Fire基地托管中使用重写。每当打开带有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.
}
});
我不知道网络开发。在这里我有几个问题,
如何通过更灵活的方式查找用户的身份验证状态?饼干是否用于此目的?我问是因为我不知道将firebase-token
传递给云函数main
。
请告诉我一个想法。谢谢大家。
简短回答:最终用户没有在后端可见的登录状态。 这不是Firebase身份验证的工作方式。
身份验证客户端提供凭据以获取用于在调用后端服务时标识自己的令牌。此令牌的生存期为 1 小时,客户端必须刷新它才能继续使用它。 您的后端不知道也不关心客户端是否有身份验证令牌、是否使用它或是否刷新它。客户端只需从他们登录的任何设备提供该令牌,以便后端可以对其进行验证。您的后端无法知道客户端是否获得了令牌 - 您只需要接受给定的令牌即可。 这意味着您必须实际弄清楚如何传递该令牌并使用Firebase管理员SDK对其进行验证,或者使用Firebase客户端SDK的可调用类型函数自动发送该令牌。