如何在 vueJS app 和 symfony 之间与 Google Token 进行通信?



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

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

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

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

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

要开始此操作,它实际上是一个相对复杂的功能。这是因为您必须使用自定义(如果可以使用Google帐户登录或注册到您自己的网站)Guard Authenticators。此外,您需要使用oauth捆绑包,例如knpuoauth2clientbundle或hwioauthbundle。

您问题的答案:

  1. 您必须为此创建一个自定义路由,但是您不需要生成随机密码,您只需使密码变名并添加仅适用于通过Google登录的用户null的检查(如果您不可能适合您然后只需添加一些随机的东西作为密码)。此外,如果您同时提供Google和您自己的身份验证,我建议将字段provider添加到您的用户实体。您应该分别将其设置为" Google"或'网站。
  2. 用户身份验证过程正在由Google处理,您将获得访问令牌作为响应,其中包含用户的信息,例如名称,电子邮件等,因此您不必担心验证密码等。

本文可帮助您开始使用KnpuoAuth2ClientBundle。

相关内容

最新更新