我正在设置 Firebase 的新预览频道(非常兴奋)。我已经设置了他们的标准部署到预览频道工作流程,它确实部署并发布了评论!但是,当我单击该链接并尝试登录我的网站时,我收到以下错误:
{"error":{"code":403,"message":"来自referer https://myProject--pr673-mybranch-2fgs8acb.web.app/的请求被阻止。","errors":[{"message ":"来自引用者 https://myProject--pr673-mybranch-2fgs8acb.web.app/ 的请求被阻止。","domain":"global","reason":"forbidden"}],"status": “没有权限”}}
工作流程是:
name: Deploy to Preview Channel
on:
pull_request:
jobs:
build_and_preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: npm ci
- name: Generate Build
run: npm run build-dev
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: "${{ secrets.GITHUB_TOKEN }}"
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT }}"
expires: 30d
projectId: myProject
env:
FIREBASE_CLI_PREVIEWS: hostingchannels
这种行为通常是预期的,因为:
我将对我的项目的访问权限限制在我信任的域中
但是,这会导致预览频道出现问题,因为我的网站仅限于我的域(并且预览频道不是我的域)。
我想了几种方法来解决这个问题,但不确定是否真的可行:
- 仍然将我的项目限制在我的域中,并在工作流运行时以编程方式授予对我的任何预览频道的访问权限。
- –或– 设置预览频道工作流以某种方式部署到我的子域并授予对所有通配符子域的访问权限(尽管根据上面的屏幕截图,似乎无法授予对通配符或路径的访问权限)
有没有办法在投影我的项目的同时使用预览频道?
(通过#1、#2 或任何其他方法来解决此问题,而不消除对我的域的限制)