【发布时间】:2021-04-05 01:10:51
【问题描述】:
当我试图从它说的客户端调用它时,我创建了一个 firebase 函数。将标头发送到客户端后无法设置标头。这是身份验证发布请求后我的后端错误。看起来标题有问题。
firebase 功能代码
import * as admin from 'firebase-admin';
import * as functions from 'firebase-functions';
import cors = require('cors');
const corsHandler = cors({ origin: true });
export const verifyToken = functions.https.onRequest(
async (request: functions.Request, response: functions.Response) => {
corsHandler(request, response, async function () {
const bearerHeader = request.headers.authorization;
if (!bearerHeader) {
response.sendStatus(403);
}
try {
const bearerToken = bearerHeader?.split(' ')[1];
const decodedToken = await admin.auth().verifyIdToken(bearerToken || '');
const customToken = await admin.auth().createCustomToken(decodedToken.uid)
response.status(200).send(customToken);
} catch (err) {
response.sendStatus(404);
}
});
},
);
客户端
async verifyToken(token: string): Promise<void> {
console.log(token)
const firebase = FirebaseApiHelper.getInstance()
const responseData = await firebase.request(
"verifyToken",
{},
{
"Content-Type": "application/json",
Accept: "application/json",
Authorization: "Bearer" +token,
},
)
console.log(responseData)
}
【问题讨论】:
-
请编辑问题以显示完整代码。我们看不到
corsHandler是什么。
标签: javascript node.js reactjs firebase google-cloud-functions