gpt4 book ai didi

firebase - Firebase 托管的身份验证

转载 作者:行者123 更新时间:2023-12-02 21:45:50 24 4
gpt4 key购买 nike

我有一个托管在 Firebase 托管上的静态应用,其后端也在 Firebase 上(使用 firebase JS api 进行通信)。我想向该网站的所有页面添加一个简单的身份验证页面,以便只有我想要的用户才能访问该网站。这可能吗?

查看了文档,但没有找到任何在这方面对我有帮助的内容。

最佳答案

您可以使用 Firebase 函数和 Express 调用来执行此操作。将所有静态文件放入名为 functions/admin 的文件夹中,并将该函数放入 functions/index.js 中:

exports.admin = functions.https.onRequest((req, res) => {
const url = req.originalUrl ? req.originalUrl : '/index.html' // default to index.html
res.sendfile('admin' + url)
})

然后,向您的函数服务器发出对 /admin/* 的请求将提供同名的文件。

如果您想添加授权,请尝试以下操作:

exports.admin = functions.https.onRequest(async (req, res) => {
const url = req.originalUrl ? req.originalUrl : '/index.html'
const user = await get_user(req) // get the current user
if (user && user.is_admin) // is current user an admin?
res.sendfile('admin' + url)
else {
res.status(403).send(null)
}
})

您必须定义 get_user(),以便它返回带有 is_admin 字段的用户对象。

关于firebase - Firebase 托管的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48753740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com