#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 на серверной части и вызовет проблемы