没有路线与位置“/auth/google”匹配

问题描述 投票:0回答:1

我一直在尝试使用passport.js开发google oauth,当我点击google图像时,控制台响应没有路由匹配位置“/auth/google”

对于客户端,我使用react.js,对于服务器或后端,我使用node.js,express,passor.js

这是我的登录页面

import React from 'react'
import Facebook from '../img/facebook.png'
import Github from '../img/github.png'
import Google from '../img/google.png'
import '../app.css'

export const Login = () => {

  const google = ()=>{
    window.open('http://localhost:5173/auth/google','_self')
  }
  return (
    <div className='login'>
     <h1 className="loginTitle">Choose a Login Method</h1>
    <div className="wrapper">
      <div className="left">
        
        <div className="logingButton google" onClick={google}>
            <img  src={Google} alt='' className='icon'/>
        </div>
        <div className="logingButton facebook">
               <img src={Facebook} alt='' className='icon'/>
        </div>
        <div className="logingButton github">
               <img src={Github} alt='' className='icon'/>
        </div>
      </div>
      <div className="center">
          <div className="line" />
          <div className="or">OR</div>
        </div>
      <div className="right">
      <input type="text" placeholder="Username" />
          <input type="text" placeholder="Password" />
          <button className="submit">Login</button>
      </div>
    </div>

    </div>
  )
}

这是我的 auth.js 文件

const passport = require('passport');
const router = require('express').Router();
const express = require('express')
const app = express();
const CLIENT_URL='http://localhost:5173/';
router.get('/login/success',(req,res)=>{
   if(req.user){
    res.status(200).json({
        success:true,
        message:'successfull',
        user:req.user,
        });
}
});
router.get('/login/failed',(req,res)=>{
    res.status(401).json({
        success:false,
        message:'failure',
    });
});
router.get('/logout',(req,res)=>{
    req.logout();
    res.redirect(CLIENT_URL);
});
router.get('/auth/google',passport.authenticate('google',{scope:['profile']}));
router.get(
    '/google/callback',
    passport.authenticate('google',{
        successRedirect:CLIENT_URL,
        failureRedirect:'/login/failed',

    })
);
module.exports = router
node.js reactjs express passport.js
1个回答
0
投票

这个问题你有答案了吗? 我有完全相同的问题。如果你解决了请帮助我!

© www.soinside.com 2019 - 2024. All rights reserved.