У меня есть API-интерфейс loopback, настроенный с использованием Passport, запущенного на порту 3000. Мой пользовательский интерфейс состоит из реакции JS, которая обслуживается с порта 3080. Я хочу реализовать аутентификацию с помощью Google. Для этого, с моей среагировать приложения, я делаю вызов localhost:3000/auth/google
Но призыв не перенаправляют на Google из-за ошибки CORS:Включение CORS на основе StrongLoop ReactJS-приложение
Fetch API cannot load http://localhost:3000/auth/google. Redirect from 'http://localhost:3000/auth/google' to 'https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=h…d=584602753475-1kk345gd8trcn31pbg1v2gncajhpakk8.apps.googleusercontent.com' has been blocked by CORS policy: Request requires preflight, which is disallowed to follow cross-origin redirect.
Когда я ударил http://localhost:3000/auth/google
URL из свежего браузера вкладка, все работает нормально.
Может ли кто-нибудь сказать, где я должен включить корс?
Редактировать
я мог видеть, что браузер делает запрос опций к локальной машине: 3000/авториз/Google
Это то, что я получил, когда я сделал варианты запрос с завитком: HTTP/1.1 204 No Content X-Powered-By: Express Vary: Origin Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE Access-Control-Max-Age: 86400 Date: Mon, 20 Feb 2017 14:05:53 GMT Connection: keep-alive
благодарит за ответ. У меня есть эта часть в моем запросе на выборку JS. И браузер делает запрос параметров на http: // localhost: 3000/auth/google. Здесь вещи блокируются. –
Вы проверили запрос опций? http://stackoverflow.com/questions/14481850/how-to-send-a-http-options-request-from-the-command-line – philipp
Я попробовал запрос Options. Ответ: «HTTP/1.1 204 Нет содержимого X-Powered-By: Express Vary: Origin Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, HEAD, PUT, PATCH, POST , DELETE Access-Control-Max-Age: 86400 Дата: Пн, 20 Фев 2017 14:05:53 GMT Connection: keep-alive' –