Javascript Firebase函数意外重定向到accounts.google.com

Javascript Firebase函数意外重定向到accounts.google.com,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我有一个简单的Firebase函数,如下所示。当通过javascript(CORS)访问时,函数的飞行前选项请求(CORS标准的一部分)返回302重定向到以 https://accounts.google.com/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3D 以我函数的URL结尾。以下是整个功能: import * as function

我有一个简单的Firebase函数,如下所示。当通过javascript(CORS)访问时,函数的飞行前选项请求(CORS标准的一部分)返回302重定向到以

https://accounts.google.com/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3D

以我函数的URL结尾。以下是整个功能:

import * as functions from 'firebase-functions';
import * as express from 'express';
import * as cors from 'cors';

const app = express();

app.use(cors({ origin: true }));

app.post('*', async (req, res) => {
  res.setHeader('X-Test', 'OK');
  res.setHeader('Set-Cookie', ['__session=ninja']);
  res.send('OK');
});

app.get('*', async (req, res) => {
  res.setHeader('X-Test', 'OK');
  res.setHeader('Set-Cookie', ['__session=ninja']);
  res.send('OK');
});

export const testing = functions.https.onRequest(app);
如您所见,该函数不包含任何重定向逻辑。如果我在浏览器(accounts.google.comone)中手动导航到重定向链接,它会显示某种google计算引擎安全页面,请求访问我的google帐户。最近,当我通过javascript访问我的所有函数时,这些函数都已经开始使用302重定向进行响应。这会阻止我的所有功能按预期工作

我不能确定,但我想它是在我尝试使用Google Cloud Functions cli(而不是Firebase Functions cli)发布函数后开始的。感觉使用
gcloud
cli发布函数可能触发了某种设置更改?我找不到关于这个问题的任何信息


非常感谢您的帮助

天哪,问题是我的函数名输入错误!函数名为
useraccounttesting
,我正在调用
userAccount.testing
。显然,当您调用一个不存在的函数时,会得到302重定向的响应


在尝试诊断此问题时,我复制并粘贴了不同的函数名,只是碰巧从未将
更新为
-
。face palm

FYI您不能使用gcloud部署使用Firebase SDK编写的云函数。只有Firebase CLI可以做到这一点。@DougStevenson谢谢,上面显示的功能是使用Firebase CLI部署的(在遇到此问题后,我使用Firebase CLI重新部署了我的所有功能,并删除了使用
gcloud
CLI部署的功能——不过,作为记录,gcloud部署的功能在我删除它之前似乎工作得很好)。您知道在单个项目上同时使用两个CLI是否会导致某种帐户修改吗?您可以同时使用这两个CLI来部署不同的功能。不过,我与此问题无关。我只是作为参考说明。@DougStevensongotcha@DougStevenson我添加了一个stackblitz示例的链接,该示例重新创建客户端出现问题。这解释了它无法获取令牌的原因。删除了我的示例,因为它看起来没用。信不信由你,我也遇到了同样的问题,在上面浪费了一天时间,而这个问题救了我一命。