Как связаться между приложением vueJS и symfony с Google Token? - PullRequest
0 голосов
/ 17 декабря 2018

Я использую Google Войти в моем приложении VueJS, и у меня есть несколько вопросов перед началом:

  1. Как создать пользователя, когда пользователь нажимает кнопку входа в Google?

    • Нужно ли для этого создавать собственный маршрут?
    • Нужно ли генерировать случайный пароль, поскольку он обязателен?
  2. Когда пользователь уже зарегистрирован и нажимает кнопку входа в Google.

    • Нужно ли передавать токен Google из Vue JS в Symfony, а затем с помощью API Google проверить, действителен ли токен, исоздать токен из моего приложения Symfony?

Если у вас есть хорошая документация, я возьму ее.

1 Ответ

0 голосов
/ 17 декабря 2018

Чтобы начать, на самом деле это довольно сложная для реализации функциональность.Это потому, что вам придется использовать пользовательские (может быть несколько, если можно одновременно войти в систему с учетной записью Google или зарегистрироваться на своем веб-сайте) guard authenticators .Кроме того, вам нужно будет использовать пакет OAuth, например KnpUOAuth2ClientBundle или HWIOAuthBundle .

Ответ на ваши вопросы:

  1. У вас естьчтобы создать собственный маршрут для этого, но вам не нужно генерировать случайный пароль, вы можете просто сделать пароль обнуляемым и добавить проверки, что он является нулевым только для пользователей, вошедших в систему через Google (если это невозможно для вас, тогда просто добавьте что-то случайноекак пароль).Кроме того, я бы предложил добавить поле provider к вашей сущности пользователя, если вы предоставляете как Google, так и свою собственную аутентификацию.Вы должны установить для него значение «google» или «website» соответственно.
  2. Процесс аутентификации пользователя обрабатывается Google, и вы получаете токен доступа в качестве ответа, который содержит информацию о пользователе, такую ​​как имя, адрес электронной почты и т. Д., Поэтому вы делаетена самом деле не нужно беспокоиться о проверке паролей и т. д.

Эта статья поможет вам начать работу с KnpUOAuth2ClientBundle.

...