如何使用Google令牌在vueJS应用和symfony之间进行通信?

时间:2018-12-17 13:29:15

标签: symfony vue.js jwt api-platform.com

我正在我的VueJS应用中实现Google登录,开始之前我有几个问题:

  1. 当用户点击Google登录按钮时如何创建用户?

    • 我是否需要为此创建自定义路线?
    • 我是否必须生成随机密码,因为它是强制性的?
  2. 已经注册用户并单击Google登录。

    • 我是否必须将Google令牌从Vue JS传递到Symfony,然后使用google API,验证令牌是否有效并从我的symfony应用程序生成令牌?

如果您有一些好的文档,我会接受的。

1 个答案:

答案 0 :(得分:0)

首先,它实际上是一个相对复杂的功能。这是因为您必须使用自定义(如果可以同时使用Google帐户登录或注册到自己的网站,则可能要使用多个)guard authenticators。此外,您将需要使用OAuth捆绑包,例如KnpUOAuth2ClientBundleHWIOAuthBundle

您的问题的答案:

  1. 您必须为此创建自定义路由,但无需生成随机密码,您只需将密码设置为空即可,并添加仅对于通过Google登录的用户为空的检查(如果您无法这样做)然后只需添加一些随机密码即可)。另外,如果您同时提供Google和自己的身份验证,则建议向您的User实体添加字段provider。您应该分别将其设置为“ google”或“网站”。
  2. Google正在处理用户身份验证过程,您将获得访问令牌作为响应,其中包含用户名,电子邮件等用户信息,因此您不必担心验证密码等问题。

This article帮助您开始使用KnpUOAuth2ClientBundle。