小编leo*_*tes的帖子

对 https://accounts.google.com/o/oauth2/v2/auth 的 fetch 访问已被 CORS 阻止

我正在将 fetch 从 React 发送到 Express 以通过 Google 进行身份验证,但我的访问被 CORS 错误阻止。我将 POST 请求从 React 重定向到 Google URL 进行身份验证。我尝试在 Express 应用程序中使用 cors,但仍然遇到相同的错误。用于抓取

const handleClick = (e) => {
    fetch('http://localhost:8000/api/mail/login', {
        method: 'POST'
    })
    .then(res => res.text())
}
Run Code Online (Sandbox Code Playgroud)

在 Express app.js 中使用 cors

app.use(cors())
Run Code Online (Sandbox Code Playgroud)

尝试重定向到谷歌身份验证

const oauth2Client = new google.auth.OAuth2(
    process.env.CLIENT_ID,
    process.env.CLIENT_SECRET,
    process.env.REDIRECT_URI
)

const url = oauth2Client.generateAuthUrl({
    access_type: 'offline',
    scope: process.env.SCOPE
})

const gmail = google.gmail({
    version: 'v1',
    auth: oauth2Client
})

router.post('/login', (req, res, next) => {
    res.redirect(url)
})
Run Code Online (Sandbox Code Playgroud)

错误:访问“https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fmail.google.com%2F&response_type=code&client_id=727520060136-ngpfd4ll798v42gfclh7cms9ndqstt32”进行获取。来自原点“http://localhost:3000”的 apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8000'(从“http://localhost:8000/api/mail/login”重定向)已被阻止CORS …

cors oauth-2.0 express google-oauth reactjs

5
推荐指数
1
解决办法
6433
查看次数

标签 统计

cors ×1

express ×1

google-oauth ×1

oauth-2.0 ×1

reactjs ×1