Я пытаюсь создать приложение, используя React и Express, этому приложению требуется логин, для которого я пытаюсь использовать steam.
Для входа в steam я использую passportjs в express и пытаюсьиспользовать axios для выполнения запроса get на мой внутренний сервер, который затем перенаправляет его на steam.
Мое приложение реагирования имеет API.js:
import axios from "axios";
export default axios.create({
baseURL: "http://localhost:8081/api",
responseType: "json"
});
, которое используется моимfront-end:
import API from '../../utils/API'
API.get('/auth/steam/', {
params: {
}
}).then(res => {
console.log(res)
})
Маршрут в моем бэкэнде:
const express = require('express');
const router = express.Router();
const passport = require('passport')
router.use(passport.initialize());
router.use(passport.session());
router.get('/steam',
passport.authenticate('steam', { failureRedirect: '/' }),
function(req, res) {
}
)
router.get('/steam/return',
function(req, res, next) {
req.url = req.originalUrl
next();
},
passport.authenticate('steam', { failureRedirect: '/' }),
function(req, res) {
res.send({ user: req.user });
}
)
Я уже использую пакет cors, но это не помогло.
Я ожидаюJSON-объект с информацией логина.Я получаю:
"Запрос перекрестного происхождения заблокирован: политика одинакового происхождения запрещает чтение удаленного ресурса в https://steamcommunity.com/openid/login?openid.mode=checkid_…steam%2Freturn&openid.realm=http%3A%2F%2Flocalhost%3A8081%2F. (причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin'). "
Экспресс-бэкэнд работает, когда я использую URL из браузера, но не при перенаправлении.