首页 > 解决方案 > Android 应用的 Firebase Cloud Functions 身份验证

问题描述

我正在构建一个搜索附近位置的 Android 应用程序。我使用 Firebase 登录系统(使用电子邮件和密码登录,并使用 Google、Facebook 等登录),因此我还想使用 Firebase 构建一个 API。(也因为我需要更复杂的应用程序)我已经使用 Firebase Cloud Functions 构建了一个无服务器 API,并且可以使用 Postman 发出 GET/PUT 请求。但是,我想保护这些端点,类似于 JWT 保护 RESTAPI 的方式,以便只有登录应用程序的用户才能发出请求。我如何实现这一目标?我看过“authorized-https-endpoint”,但它似乎只允许谷歌登录。

或者有没有办法让我仍然可以使用 Node 和 Mongodb RestAPI,并使用登录到 Firebase 的帐户来保护它?

这是一段后端代码

app.get('/api/read/:item_id', (req, res) => {
(async () => {
    try {
        const document = db.collection('items').doc(req.params.item_id);
        let item = await document.get();
        let response = item.data();
        return res.status(200).send(response);
    } catch (error) {
        console.log(error);
        return res.status(500).send(error);
    }
    })();
});


exports.app = functions.https.onRequest(app);

非常感谢你们。

标签: androidfirebasefirebase-authentication

解决方案


使用 Firebase 可调用函数。它们满足您的要求。

参考:https ://firebase.google.com/docs/functions/callable

如果函数调用出现问题,请参考:firebase.google.com/docs/functions/callable-reference。
正如这里提到的,这仅在 SDK 不适合您时使用


推荐阅读