我正在尝试在Node.js上创建Express动态网页。我想在路径/
的服务器(Firebase Cloud Functions)上执行以下逻辑:
my_home_page.html
my_login_page.html
所以我需要实现isClientLoggedIn
函数:
import * as functions from 'firebase-functions';
import * as express from 'express';
const app = express();
export const redirects = functions.https.onRequest(app);
app.set('views', './res');
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'html');
function isClientLoggedIn(request: Request): bool {
return // ???
}
app.get('/', (req, res) => {
if (isClientLoggedIn(req)) {
res.render('my_home_page.html');
} else {
res.render('my_login_page.html');
}
});
但是,我已经检查了Firebase Auth文档,但我不知道如何实现此功能。是否可以通过HTTP请求检查客户端的登录状态,或者还有其他方法可以呈现正确的内容?
答案 0 :(得分:0)
HTTPS触发的Cloud Functions中没有内置的方法来知道请求是否来自已登录的用户。如果要确定该请求,则需要传递用户的ID令牌以及请求,并在Cloud Function中解码并验证该令牌。有关此示例的简单示例,请参见function-samples
存储库中的Authenticated JSON API。