node.js - 检索 firebase 函数的当前唯一 URL
问题描述
我正在编写一个 firebase 云函数来验证用户并获取 refresh_token 和 access_token 以供以后使用。这是初始化 Google OAuth2 客户端的代码段:
const { google } = require("googleapis");
module.exports = () => new google.auth.OAuth2(
GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET,
`${BACKEND_URL}/authCallback`,
);
目前,我必须先将该功能部署到 firebase,然后才能获得BACKEND_URL
. 我可以在函数内检索当前的 firebase 唯一 URL 吗?
解决方案
HTTPS 函数 URL 如下所示:
https://us-central1-YOUR-PROJECT.cloudfunctions.net/test
其中“us-central1”是部署区域,“YOUR-PROJECT”是您的 Firebase/Cloud 项目的名称。“测试”是函数的名称。其他一切都保持不变。
process.env.FUNCTION_REGION
是当前功能已部署的区域。
process.env.GCP_PROJECT
是部署了当前函数的项目的名称。
因此,如果您假设当前运行的函数与目标 HTTPS 函数共享相同的项目和部署区域,则可以使用这两个进程环境变量的内容来构建 URL。
推荐阅读
- javascript - 如何从第一个承诺列表构造第二个承诺列表并进行迭代
- python - 用 for 语句制作变量
- git - 检查 heroku 部署是最新的
- java - 如何将简单的 Curl 调用转换为 Java HttpURLConnection
- amazon-web-services - 使用 Go 设置 AWS Lambda,为什么我总是使用这个简单的函数得到“内部服务器错误”?
- java - 如何将 ArrayList 中的最后一个元素存储到另一个 ArrayList (Java)
- python - 如何测试第三方库的包装器?
- python - elasticsearch 小写,如 %term% search
- arrays - 向量化矩阵的按列逻辑索引
- scapy - 使用 scapy 嗅探由机器 B 在机器 A 上发送到机器 C 的 icmp 数据包