Firebase云函数中没有权限错误
我想用Passport.js+Firebase云函数实现一个松弛身份验证。但当我重定向URL时,出现了禁止的错误 错误: 您的客户端没有从该服务器获取URL/api/auth/slack?uid=XXXXXXXXXX&redirectTo=的权限 反应代码:Firebase云函数中没有权限错误,firebase,express,google-cloud-functions,Firebase,Express,Google Cloud Functions,我想用Passport.js+Firebase云函数实现一个松弛身份验证。但当我重定向URL时,出现了禁止的错误 错误: 您的客户端没有从该服务器获取URL/api/auth/slack?uid=XXXXXXXXXX&redirectTo=的权限 反应代码: const slackAuthorizeURL = (uid) => `https://us-central1-xxxxxxxxx.cloudfunctions.net/api/auth/slack?uid=${uid}&
const slackAuthorizeURL = (uid) =>
`https://us-central1-xxxxxxxxx.cloudfunctions.net/api/auth/slack?uid=${uid}&redirectTo=${window.location.href}`
<a href={slackAuthorizeURL}>Sign in with Slack</a>
我已经在谷歌云平台的api上设置了
alluser
到Cloud Functions Admin
。我没有在谷歌云平台的api上正确设置alluser到Cloud Functions Admin
const express = require('express')
const session = require('express-session')
const app = express()
const allowedOrigins = [
'http://localhost:3000',
]
const allowCrossDomain = (req, res, next) => {
const origin = req.headers.origin
if (allowedOrigins.includes(origin)) {
res.header('Access-Control-Allow-Origin', origin)
}
res.header('Access-Control-Allow-Methods', 'GET,POST')
res.header('Access-Control-Allow-Headers', 'Content-Type')
next()
}
app.use(allowCrossDomain)
app.use(session({ secret: config.session.secret }))
const passport = require('passport')
app.use(passport.initialize())
app.use(passport.session())
app.get('/auth/slack', (req, res, next) => {
req.session.uid = req.query.uid
req.session.redirectTo = req.query.redirectTo
passport.authenticate('slack')(req, res, next)
})