我可以在使用openID时记录用户登录

时间:2010-07-05 02:46:26

标签: php login openid statistics

我正在为网站设置登录系统,而有人建议使用openID。

在我当前的设置中,我将用户的登录尝试记录到db表中。使用openID时,我是否仍然能够进行细粒度控制?

1 个答案:

答案 0 :(得分:2)

是的,但它比你习惯的要复杂得多。

通常,您的网站上会有一个登录页面,您要求用户输入他的标识符(用户提供的标识符,可以是用户声称拥有的标识符或http://yahoo.com之类的标识符,用户将被带到提供商的网站,提供商将帮助他选择他将声称拥有的标识符。当用户提交此表单时,您可以将其记录到数据库中。

现在,用户将被带到OpenID提供商的网站。他现在可以做三件事:

  • 按后退按钮中止它,关闭浏览器,无论如何。在这种情况下,您将无法获得任何反馈,因此您无需记录任何内容。
  • 要求OpenID提供商无需身份验证即可返回网站。在这种情况下,OpenID提供程序应重定向用户,以便生成negative assertion。您可以检测到这个(并记录它),但规范不要求提供者有这种行为。
  • 用户可以成功通过提供程序进行身份验证,并获得肯定的断言。在这种情况下,登录可能是成功的(如果肯定成功验证了肯定断言);在任何一种情况下,你都可以知道(并记录下来)。

最后,您可能会收到未经请求的肯定断言或否定断言,即您的网站未发起的断言。您可以拒绝这些或验证肯定的断言,但无论如何,您都可以记录它们。