Как перенаправить аутентификацию oauth2 на интерфейс вместо перенаправления в бэкэнд с помощью passport?

#javascript #node.js #vue.js #express #passport.js

Вопрос:

Я использую Vue, узел и паспорт для аутентификации с помощью стратегий local и oauth2 (passport-github).

Моя локальная стратегия работает, но у меня проблемы с моим oauth2.

У меня на странице входа в систему есть кнопка «войти с помощью github», при нажатии на которую будет отправлен запрос axios на мой сервер (http://localhost:3000/auth/github).

 const api = axios.create({  baseURL: 'http://localhost:3000/',  withCredentials: true,  timeout: 1000, });  async function APIloginWithGitHub() {  const response = await api.get('/auth/github')  return response.data }  
 router.get('/github', passport.authenticate('github'))  router.get('/auth/github/callback',   passport.authenticate('github'),  function(req, res) {  res.send('You have been successfully authenticated!');  });  

На уровне промежуточного программного обеспечения моего бэкенда я использую эту конфигурацию стратегии:

 const GitHubStrategy = require('passport-github').Strategy; const User = require('../models/User')  module.exports = function (passport) {  passport.use(new GitHubStrategy({  clientID: process.env.GITHUB_APP_ID,  clientSecret: process.env.GITHUB_APP_SECRET,  callbackURL: "http://localhost:3000/auth/github/callback"  },  async (token, tokenSecret, profile, done) =gt; {  console.log(profile)  }  )); };  

Это приведет к перенаправлению на страницу аутентификации github на серверной части и вызовет проблемы