【问题标题】:If OpenID, what user data do I still need to save如果是 OpenID,我还需要保存哪些用户数据
【发布时间】:2011-09-04 02:58:48
【问题描述】:
我试图了解 OpenID 是否适合我。现在该网站有一个正常的注册过程,我向用户询问我需要的数据,例如他的电子邮件、姓名、用户名、年龄等。然后我让他验证他的电子邮件。所有这些数据都存储在数据库中。
当我开始使用 OpenID 时,我知道我需要这样做:
- 我不需要存储任何与密码相关的数据
- 我的数据库中仍然可以有一个电子邮件字段,我会通过直接询问 OpenID 提供商来获得电子邮件吗?对吗?
- 我还可以向用户询问我想要的任何其他详细信息,例如让他选择用户名等等吗?
你注意到了什么,你可以告诉我,以便我更好地理解这一点?
【问题讨论】:
标签:
php
web-applications
authentication
login
openid
【解决方案1】:
- OpenID 提供商会向您提供用户的电子邮件,但前提是您要求提供。
- 在用户使用 OpenID 登录后,没有什么可以阻止您收集其他用户数据。如果您是第一次使用 OpenID 登录 Stack Overflow,则在 OpenID 提供商进行身份验证后,系统会提示您输入用户名和其他信息。
提供商将为您提供每位用户的唯一 ID - 您需要保存此 ID。这是您将刚刚登录的用户与数据库中的记录匹配的方式。
我发现 OpenID 本身相当复杂。如果您想要使用的唯一提供商是 Google,这个PHP class 会非常容易。该网页还包含一个教程。