我正在在我的vuejs应用中实现Google登录,在开始之前,我有几个问题:
-
当用户单击Google登录按钮时,如何创建用户?
- 我必须为此创建自定义路线吗?
- 我必须生成一个随机密码,因为它是强制性的?
-
当用户已经注册并单击Google登录时。
- 我是否必须将Google令牌从VUE JS传递到Symfony,然后使用Google API验证令牌是否有效并从我的Symfony应用程序中生成令牌?
如果您有一些好的文档,我会接受。
要开始此操作,它实际上是一个相对复杂的功能。这是因为您必须使用自定义(如果可以使用Google帐户登录或注册到您自己的网站)Guard Authenticators。此外,您需要使用oauth捆绑包,例如knpuoauth2clientbundle或hwioauthbundle。
您问题的答案:
- 您必须为此创建一个自定义路由,但是您不需要生成随机密码,您只需使密码变名并添加仅适用于通过Google登录的用户null的检查(如果您不可能适合您然后只需添加一些随机的东西作为密码)。此外,如果您同时提供Google和您自己的身份验证,我建议将字段
provider
添加到您的用户实体。您应该分别将其设置为" Google"或'网站。 - 用户身份验证过程正在由Google处理,您将获得访问令牌作为响应,其中包含用户的信息,例如名称,电子邮件等,因此您不必担心验证密码等。
本文可帮助您开始使用KnpuoAuth2ClientBundle。