我不想向世界添加其他用户名和ID,所以我真的想将openId集成到我的网站中。但是,我很困惑。我看了很多关于它的博客,他们都指向DotNetOpenAuth。我插入了它,但没有达到我的预期。
我看到的是这样的(来自Scott Hanselman的博客)
我期望看到的是与stackoverflow.com上的相同的登录体验
我显然对OpenID是什么感到困惑。有人可以帮我解释一下吗?更好的是,有人可以指出我需要做些什么来获得stackoverflow.com体验。
感谢。
答案 0 :(得分:3)
将Open ID视为将供应商称为“Joe”的概念。您可以使用许多不同的提供商。 Facebook,Twitter,Stackexchange,谷歌,雅虎等。您拥有的UI只是使用OpenID提供程序。如果您想要更好的用户界面,请查看this jquery plugin或this one.
UI SO使用(以及上面链接的两个)真的只是眼睛糖果。从概念上讲,他们构建了一个用户将被发送到的URL。有些需要URL中的用户名,有些则不需要。如果您要推出自己的解决方案,则需要知道每个提供商需要什么。如果您使用预先构建的,请使用它。 :)
我前一段时间做了blog bost,引导您在MVC网站中实施DotNetOpenAuth。重要的是要注意方法ActionResult LogOn(string openid_identifier)
获取提供者所需的URL,并将用户重定向到那里。您将从其中一个控件中获取此URL。如果我没记错的话,它会为你处理一切。你只需要告诉它将表单发布到哪里。
收到回复后(另一个LogOn
方法),您可以处理它。 response.ClaimedIdentifier
基本上是用户ID。每个用户都会有所不同。如果我使用Google和Facebook登录,即使我是同一个人,它们也会有所不同。如果您希望用户能够使用多个用户登录,则需要允许他们进行登录,并相应地进行编码。
答案 1 :(得分:0)
好的,所以OpenID通过与可信的openID提供商(例如谷歌)进行通信来告诉网站你是谁。有关谷歌如何实施的文章可以在http://www.readwriteweb.com/archives/google_clarifies_openid_implementation.php
找到这是我点击Scott Hanselmans评论登录系统时看到的内容。 http://imagebin.org/186528请注意OpenID文本框如何添加网址?我很确定所有stackoverflow都在做同样的事情 - 但是有一个点击链接而不是那些不太可用的链接。