我一直在疯狂地尝试让这个 firebase http 函数与 cors 一起工作。基本上,我在本地为管理员 sdk 提供服务,以验证某个用户令牌是否具有管理员声明。令牌通过 get 请求作为 url 中的参数发送。我目前收到 404 错误,并且“请求的资源上不存在 'Access-Control-Allow-Origin' 标头”错误。我尝试以不同的方式重新排列我的代码束,包括 firebase 如何在文档中执行此操作,但最终总是会得到该 cors 以及 404 或 500 错误。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors');
const express = require('express');
const corsOptions = {
origin: '*',
allowedHeaders: ['Content-Type', 'Authorization', 'Content-Length', 'X-Requested-With', 'Accept'],
methods: ['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS'],
optionsSuccessStatus: 200
};
let app = express()
app.use(cors);
app.get('/AdminSignIn/:token',(req, res) => {
cors(corsOptions,(req,res) =>{
admin.auth.verifyIdToken(req.params.token).then((claims) => {
console.log(claims.admin)
if(claims.admin == true){
res.send(true)
}else{
res.send(false)
}
})
})
})
admin.initializeApp(functions.config().firebase);
exports.AdminSignIn = functions.https.onRequest(app)