Как я могу получить токен доступа и обойти политику CORS в Spring Boot - PullRequest
0 голосов
/ 20 апреля 2020

Я реализовал аутентификацию Oauth2 в API GraphQL / Spring Boot и хочу использовать ее из приложения VueJS с помощью клиента Apollo. В настоящее время я могу сделать это с помощью Postman. Но у меня есть ошибка в Chrome о CORS:

Access to fetch at 'https://server/as/authorization.oauth2?response_type=code&client_id=DEV_CLIENT&scope=api%20profile%20openid&state=sW2aJRg-ZA8vomsiuynS-nS1QobOUJY1Ytrji_gSFz8%3D&redirect_uri=http://localhost:5000/login/oauth2/code&nonce=' (redirected from 'http://localhost:5000/pdp/api/graphql') from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Я реализовал конфигурацию CORS в API следующим образом:

 http.cors().and().csrf().disable()

Я связался со службой поддержки, тебе сказали это : «Вы пытаетесь отправить запрос CORS службам OID C. Обратите внимание, что на серверах федерации CORS не включен. Решением будет отказ от запроса CORS».

1 - Как я могу получить токен доступа из API и использовать его во внешнем интерфейсе в этом случае (Oauth2)? 2 - Как я могу обойти политику CORS сервера, зная, что они сказали, что она отключена?

Спасибо

1 Ответ

0 голосов
/ 20 апреля 2020

Если вы не можете контролировать / устанавливать политику происхождения CORS на сервере, вы ничего не можете сделать из приложения VUEJS из браузера. Это браузер, который ограничивает это. Вы также можете спросить их, есть ли у них поддержка jsonp. Вот ссылка, как это сделать.

https://www.freecodecamp.org/news/use-jsonp-and-other-alternatives-to-bypass-the-same-origin-policy-17114a5f2016/

Если все не удается, запишите небольшой бэкэнд-сервис, который получает токен доступа из API и может передать токен в VUEJS приложение в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...