如何为 Firebase 函数执行域验证
How to perform domain verification for Firebase functions
我想使用 Google 的网站管理员工具为我的 "site" 添加域验证,它完全由 Cloud Functions for Firebase 组成:
https://us-central1-<project-id>.cloudfunctions.net/
但是我不知道如何以成功的方式执行此操作。
推荐的方法是下载并提供带有验证密钥的 HTML 文件。但是,我似乎无法创建带点的函数。
exports['googleKEY.html'] = functions...
尝试部署时失败。
另一种方法是在我的 "homepage" 中放置一个元标记,但这也不起作用,因为我似乎无法创建索引页面。
exports[''] = functions...
和
exports['index.html'] = functions...
同样失败。
有没有办法只通过函数来进行域验证?非常感谢您的指导。
所以...我想我终于可以找到解决方案了。
没有直接的方法来验证 Firebase Functions 域 (https://*.cloudfunctions.net
),但验证 Firebase 托管域 (https://*.firebaseapp.com
) 很容易 (using verification file)。那么让我们从那个开始吧。
托管中有一个配置选项可以设置 url 重写以提供功能。 (Documented here)
这是上面 link 的修改示例配置,打开 url https://<your-project-id>.firebaseapp.com/covertFnBigben
以调用函数 bigben
.
{
"hosting": {
"public": "public",
// Add the following rewrites section *within* "hosting"
"rewrites": [
{
"source": "/covertFnBigben", "function": "bigben"
}
]
}
}
因此,在成功验证您的 Firebase 托管域后,您可以使用该域调用 Firebase 函数。
我遇到了同样的问题:我想在 Google Search Console 中验证我的域名所有权。但该域实际上是一个 Firebase Cloud Functions 域 (https://*.cloudfunctions.net
)。我今天找到了一个超级简单的解决方案:
1) 在 Google Search Console 中添加 属性 时,select 方法 "URL prefix" 并输入您将创建的函数的 url在第 3 步中(即 https://foobar.cloudfunctions.net/googleDomainVerification
)。
2) Select 方法 "HTML tag" 并复制 meta-tag.
3) 创建一个在 Firebase Cloud Function 上推送的 https 函数。不要忘记从第 2 步复制您的 meta-tag:
exports.googleDomainVerification = functions.https.onRequest((req, res) => {
res.status(200).send('<!DOCTYPE html> <html> <head> YOUR_META_TAG_HERE </head> <body> </body> </html>')
})
4) 请稍等,然后在 Google Search Console
上按 "Verify"
就是这样。现在一切都应该可以了:)
我想使用 Google 的网站管理员工具为我的 "site" 添加域验证,它完全由 Cloud Functions for Firebase 组成:
https://us-central1-<project-id>.cloudfunctions.net/
但是我不知道如何以成功的方式执行此操作。
推荐的方法是下载并提供带有验证密钥的 HTML 文件。但是,我似乎无法创建带点的函数。
exports['googleKEY.html'] = functions...
尝试部署时失败。
另一种方法是在我的 "homepage" 中放置一个元标记,但这也不起作用,因为我似乎无法创建索引页面。
exports[''] = functions...
和
exports['index.html'] = functions...
同样失败。
有没有办法只通过函数来进行域验证?非常感谢您的指导。
所以...我想我终于可以找到解决方案了。
没有直接的方法来验证 Firebase Functions 域 (https://*.cloudfunctions.net
),但验证 Firebase 托管域 (https://*.firebaseapp.com
) 很容易 (using verification file)。那么让我们从那个开始吧。
托管中有一个配置选项可以设置 url 重写以提供功能。 (Documented here)
这是上面 link 的修改示例配置,打开 url https://<your-project-id>.firebaseapp.com/covertFnBigben
以调用函数 bigben
.
{
"hosting": {
"public": "public",
// Add the following rewrites section *within* "hosting"
"rewrites": [
{
"source": "/covertFnBigben", "function": "bigben"
}
]
}
}
因此,在成功验证您的 Firebase 托管域后,您可以使用该域调用 Firebase 函数。
我遇到了同样的问题:我想在 Google Search Console 中验证我的域名所有权。但该域实际上是一个 Firebase Cloud Functions 域 (https://*.cloudfunctions.net
)。我今天找到了一个超级简单的解决方案:
1) 在 Google Search Console 中添加 属性 时,select 方法 "URL prefix" 并输入您将创建的函数的 url在第 3 步中(即 https://foobar.cloudfunctions.net/googleDomainVerification
)。
2) Select 方法 "HTML tag" 并复制 meta-tag.
3) 创建一个在 Firebase Cloud Function 上推送的 https 函数。不要忘记从第 2 步复制您的 meta-tag:
exports.googleDomainVerification = functions.https.onRequest((req, res) => {
res.status(200).send('<!DOCTYPE html> <html> <head> YOUR_META_TAG_HERE </head> <body> </body> </html>')
})
4) 请稍等,然后在 Google Search Console
上按 "Verify"就是这样。现在一切都应该可以了:)