Как я могу получить токен jwt с сервера (Node.js) без вызова ajax с клиента (Vue)

Я пытаюсь добавить аутентификацию на основе Google в свое приложение. Вот что я делаю

  1. используя модуль passport-google-oauth20 для паспортной стратегии Google на стороне моего сервера express.js
  2. Я создал две конечные точки, первую auth/google и вторую auth/google/callback, которая является URL-адресом обратного вызова для google-Oauth.
  3. В определении стратегии я пытаюсь создать токен jwt, который хочу как-то отправить клиенту.
  4. На стороне клиента, которое является приложением vue, я добавил кнопку входа в Google, которая перенаправляет при нажатии на мою конечную точку, созданную на сервере,
  5. После этого обмен accessTokens и scoped informations происходит на стороне сервера (где я также генерирую токен jwt). Но мне интересно, как я могу вернуть токен доступа клиенту после успешной аутентификации на сервере.

Обратите внимание, что я не могу сделать вызов ajax, так как это вызовет проблему cors. Любые предложения высоко ценятся;


person Roshan    schedule 12.02.2020    source источник


Ответы (1)


не могли бы вы подробно рассказать, находится ли сервер внутреннего узла в вашем контроле, потому что если это так, вы сможете установить политику CORS для своего внешнего приложения.

person Prafulla Raichurkar    schedule 13.02.2020
comment
эй, у меня есть контроль над сервером узла, но проблема здесь в том, что аутентификация OAuth2 не поддерживает вызов ajax. stackoverflow.com/questions/43276462/ . - person Roshan; 13.02.2020
comment
Если вы используете OAuth2, это означает, что вы уже полагаетесь на какой-то API для аутентификации, то почему вы хотите, чтобы он возвращал токен JWT? потому что по умолчанию OAuth2 должен возвращать токен доступа - person Prafulla Raichurkar; 13.02.2020