关于openid和dotnetauthentication的问题

关于openid和dotnetauthentication的问题,openid,dotnetopenauth,Openid,Dotnetopenauth,我正在研究openid和dotnetauthentication库。然而,我仍然有一些悬而未决的问题 返回的id对于每个用户都是唯一的吗?我是否可以将此id作为用户id存储在数据库中(当前此字段是主键和唯一标识符) 我了解到,您可以尝试请求电子邮件地址等信息,但您可能不会将其提供给您。如果您需要这些信息,会发生什么 我觉得如果我必须马上弹出另一个字段,并要求他们的电子邮件地址和我需要的任何其他字段,那就有点糟糕了。似乎有点违背了这个目的,因为我一直认为openid的一个好处是你不必填写注册表格

我正在研究openid和dotnetauthentication库。然而,我仍然有一些悬而未决的问题

  • 返回的id对于每个用户都是唯一的吗?我是否可以将此id作为用户id存储在数据库中(当前此字段是主键和唯一标识符)

  • 我了解到,您可以尝试请求电子邮件地址等信息,但您可能不会将其提供给您。如果您需要这些信息,会发生什么

  • 我觉得如果我必须马上弹出另一个字段,并要求他们的电子邮件地址和我需要的任何其他字段,那就有点糟糕了。似乎有点违背了这个目的,因为我一直认为openid的一个好处是你不必填写注册表格

  • 只有一些预定义的选项(谷歌、雅虎、openid、facebook)更好吗。然后让他们输入自己的url(即灰色显示字段,让他们输入url)
  • 我之所以这样想,是因为如果他们输入的提供者没有提供我所需的信息,那么我就会陷入困境,这可以追溯到第2点

  • 如何让一个人注销?你是不是要取消表单认证

  • Rob Conry有一篇很棒的博客文章,从第一手的经验和教训中探讨了开放ID的主题。博客评论包括杰夫·阿特伍德(Stack Overflow)和其他人的反馈。对于没有公开ID的技术资源来说,这是一本很好的读物


    ClaimedIdentifier是唯一的ID,您应该将其与每个用户关联,并在用户返回时用于查找。它并不像一些人认为的那样“不断变化”。如果你有谷歌用户,并且你的域名曾经发生过变化,是的,你从谷歌获得的声明ID将发生变化。所以不要改变你的域名(或者更具体地说,你向谷歌报告的“领域”),你会没事的

    一些用户和一些提供商不想交出他们的电子邮件地址。最好的方法(IMO)是,你不要坚持让用户给你一个电子邮件地址,而是在他们想在你的网站上做一些你需要电子邮件地址的事情时要求提供。如果提供商给你一个电子邮件地址(如果你做了所有正确的事情,那么你可以跳过这一步。如果他们不这样做,那么,你的情况不会比使用OpenID之前更糟。但说真的,在我看来,OpenID的最大卖点并不是它预先填充了注册表单。它让你的用户更安全


    有关这方面的讨论,请参阅。

    哇,从那篇文章中,我不想使用openid。似乎比值得付出更多的痛苦。我的意思是,如果id一直在变化,你会如何为那个用户获取信息?这是一个观点。一个真实的,但只是一个。