PHP使用twitter、facebook或youtube上的现有帐户创建用户注册页面


PHP Creating user registration page using existing accounts on twitter , facebook or youtube

我正在创建一个类似stackoverflow的用户注册页面。为此,我必须给用户一个机会,如果他有任何帐户已经存在于第三方网络,如脸书,推特,谷歌或linkedin,然后代替自定义注册。

我需要将他们的第三方网络ID、电子邮件、姓名保存在我的数据库中的用户表中。这样,如果那个特定的用户来提供类似的用户名,并且他的身份验证成功,那么我可以让他访问我网站上的用户页面。(我对保存第三方网络社交网络的密码不感兴趣)

我有点困惑我该如何构建这样的系统,有人告诉我openid和openauth,但我不确定哪一个能给我正确的结果?

对于这个问题,选择使用openid还是openauth并不重要,两者都将为您提供用户身份。我倾向于这样做:

table users_openids(identity, user_id, created, last_used, ...)

然后,它允许您的用户附加多个身份,以便在您希望从其中许多用户导入数据的情况下使用。

要通过身份登录,只需在主表中查找user_id即可。

因此,对于现有用户,只需为他们添加一行,对于新用户,请同时插入一个具有NULL密码的新用户,并确保在应用程序逻辑中正确处理它。因为你应该使用散列,所以如果有人输入NULL,你永远不会匹配。