2017-08-16 67 views
0

我想了解如何将Google或Facebook的身份验证与我的数据库集成。 我有一个带有电子邮件和密码的登录系统,用户表和用于表示用户消息的消息表。如何将Google或Facebook登录与我的数据库集成?

当有人注册,具有用户ID的新用户创建。 当用户登录电子邮件和密码,他得到一个身份验证令牌, 并为用户做出的每个动作,如POST或GET用于获取或创建一个新的消息请求的系统,他把他得到的令牌和系统发现用这个令牌的用户ID,然后找到他自己的消息。

现在我想补充谷歌和Facebook登录,我应该怎么现在就这样做? 我可以从他们每个人获得一个令牌。但是用户实际上并不存在于我的用户表中,所以当我通过他的令牌搜索用户时,我不会得到任何东西,因为他不存在于用户表中,并且当我想将他插入此表时,我需要在那里填写密码字段,但我无法从谷歌获得它。

应该怎样做这样的事情? 谢谢。

回答

0

当他们第一次登录,就可以申请从Facebook或谷歌自己的电子邮件,用户给你的应用程序访问,看看他们的电子邮件地址。 在这一点上,你可以创建一个新的用户与该电子邮件,并添加一个标志,说他们来自Facebook /谷歌。 其余的工作正常,他们会从你的应用程序中获得一个令牌,等等。 如果他们回来并重新登录,则不需要注册它们,因为它们已经在您的数据库中。

如果你需要从他们额外的信息,(更多的则只是信息,你可以从Facebook /谷歌要求),你可以将它们重定向到一个特殊的形式,为他们的第一次登录。

+0

所以我应该从谷歌注册用户添加到我的用户表? 没有添加密码字段?我的密码字段是必需的简单登录 – zb22

+0

这是正确的,如果你添加他们没有密码,他们不能以正常的方式登录,并将永远需要通过谷歌登录,这就是为什么有一个标志或东西,以表明他们使用谷歌登录 – DarkMukke

+0

但我认为我不能插入一条记录到我的用户表,如果一个必填字段(如密码)为空。我仍然希望提交简单登录所需的文件。那我该怎么办? – zb22