【问题标题】:LinkedIn / Twitter / Facebook as OAuth and OpenId useLinkedIn / Twitter / Facebook 作为 OAuth 和 OpenId 使用
【发布时间】:2012-06-03 19:14:23
【问题描述】:

首先,我了解 OpenId 用于身份验证,OAuth 用于授权,与网站上的其他问题不同,我不是问应该使用哪个,而是问是否有人可以为我的问题提供解决方案。

我想允许用户通过他们的 LinkedIn/Twitter/Facebook 帐户登录到我的网站,一旦通过 LinkedIn 登录,他们还可以授权他们的 Twitter 和 Facebook 帐户作为可选的登录方法。这将允许用户通过这三个中的任何一个进行身份验证,但最终会在我的网站上使用他们的用户帐户作为最终结果。

我还想使用他们提供的授权来获取基本的用户详细信息(个人资料图片/姓名等)并发布状态更新。

我不想要求用户通过 openId 使用他们的帐户登录,然后必须通过 oauth 再次授权同一帐户以允许我的网站发布到他们的服务提要,并且必须为 3 项服务中的每一项执行此操作.

对这个问题有什么想法或问题吗?

【问题讨论】:

    标签: facebook twitter openid oauth linkedin


    【解决方案1】:

    如果您使用的是 ASP.NET MVC,DotNetOpenAuth 是支持 OpenID/OAuth 站点的绝佳解决方案。 StackOverflow 正在使用它,他们对网站中使用的代码非常挑剔。

    OpenID 与 DotNetOpenAuth 的集成非常简单。我没有尝试过 OAuth,但我认为它的质量不会降低。

    很遗憾,Facebook 不支持 OpenID/OAuth,因此您需要使用不同的解决方案。我使用的是 Clarity Consulting 的Facebook Developer Toolkit。它有效,尽管我确实对代码的质量有些抱怨;不幸的是,我还没有找到更好的东西。 (注意:如果有人知道更好的选择,请务必告诉我)

    Facebook Connect 与 Facebook Developer Toolkit 的基本集成也相对简单。然而,他们的对象模型有些混乱,因为他们试图尽可能地接近 Facebook API,所以 HTTP API 模式正在流失很多。尽管如此,它仍然有效。

    更新:既然 Facebook 宣布他们将支持 OAuth 2.0,DotNetOpenAuth 可能会成为最好的解决方案。

    【讨论】:

      【解决方案2】:

      您研究过 RPX 吗?

      https://rpxnow.com/

      【讨论】:

      • 感谢 andrew 的建议,但想直接与服务提供商交谈,而不是通过其他提供商,我看不到 RPX 支持linkedIn
      【解决方案3】:

      我不想要求用户通过 openId 使用他们的帐户登录,然后必须通过 oauth 再次授权同一帐户以允许我的网站发布到他们的服务提要,并且必须为 3 项服务中的每一项执行此操作.

      恐怕您必须将用户帐户分别连接到这 3 项服务中的每一项。您使用什么平台来构建您的应用程序?如果是 Ruby,那么像 OmniAuth 这样的 gem 看起来很有前途。

      【讨论】:

      • 我不介意独立连接到这 3 个服务中的每一个,我不希望用户必须对每个服务进行两次身份验证,一次用于登录,然后再次允许数据查询或发布到他们的溪流。平台是 - ASP.NET MVC / C#
      • 对每个服务进行身份验证后,将秘密令牌保存在您的数据库中,以便您的应用将来代表该用户进行连接。不需要第二个身份验证来发布到他们的流。
      • 我同意,但是一旦分配了该服务 2 天后,用户返回我的站点并单击 twitter 登录(以验证用户对我的站点的身份,而不是像以前那样授予流访问权限)不会' t 推特而不是问他们是否每次都想授予访问权限?我想要的只是验证他们的 twitter 帐户详细信息返回我存储的秘密令牌并可以比较?
      • 如果他们与 Twitter 有一个活动的浏览器会话,那么他们将不会被询问,您仍然会从 Twitter 获得传递给您的回调的令牌。如果他们已退出 Twitter,则必须重新登录。
      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 2012-12-05
      • 2011-07-11
      • 2014-09-11
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      相关资源
      最近更新 更多