android - 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);
非常感谢你们。
解决方案
使用 Firebase 可调用函数。它们满足您的要求。
参考:https ://firebase.google.com/docs/functions/callable
如果函数调用出现问题,请参考:firebase.google.com/docs/functions/callable-reference。
正如这里提到的,这仅在 SDK 不适合您时使用
推荐阅读
- c# - 从本地 html 文件到服务器的 JSON 请求引发 CORS 错误:访问 XMLHttpRequest 在
来自原点“null”已被 CORS 政策阻止 - javascript - 在锚链接点击加载内容
- javascript - 设备方向传感器到 CSS 转换
- powershell - 用于从一个 OU 检索 PC 成员资格的 Powershell 脚本
- node.js - 重新安装后,“node”命令在错误的目录中查找
- android - 无法对具有不同高度和宽度的位图进行样式化
- docker - 容器扫描功能不适用于多个图像
- php - 类仅在将值定义为构造函数中的参数时才有效
- java - 如何修复 Spring Boot 中发生的“HttpMessageNotReadableException”和“SocketTimeOutException”
- angular7 - 根据请求,braintree-web API 中位置 1 处 JSON 中的意外令牌 o