У меня есть экспресс-сервер, на котором уже есть Cors Middlewear.
https://myapi.com
app.use(cors({ origin: true }));
У меня есть одностраничное приложение, которое отправляет запрос и предполагает перенаправление на PayPal после.(Он обслуживается из другого источника, как указано ниже)
https://myAngularApp.com (некоторые услуги)
http.post('https://myapi.com/create-payment', data);
Итак, вернемся на экспресс-сервер, я хочуотправить их в PayPal для аутентификации:
app.post('/create-payment', (req, res) => {
res.redirect('https://www.sandbox.paypal.com/somewhere..');
})
Вернувшись в клиент, я получаю следующую ошибку:
Не удалось загрузить https://www.sandbox.paypal.com/somewhere: Ответ на запрос предполетной проверкине проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».Поэтому исходный код 'null' не разрешен для доступа.
Глядя на запрос, который мой клиент отправляет в PayPal, вы также можете видеть, что источник является нулевым.
(Отметим, что отключение app.use(cors({ origin: true }));
не позволит клиенту получить нормальный ответ от сервера, так что это уже показывает, что связующее ПО cors связано.
Ошибка при комментировании cors
// app.use(cors({ origin: true })); - Commented Out
Не удалось загрузить "https://myapi.com/create-payment": Перенаправление с 'https://myapi.com/create-payment' на' https://www.sandbox.paypal.com/somewhere.' имеетбыл заблокирован политикой CORS: на запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Следовательно, Origin 'https://myAngularApp.com' не имеет доступа.
Что еще мне нужно настроить на экспресс-сервере, чтобы клиент мог быть перенаправлен на PayPal?