【问题标题】:OmniAuth to extract full profile data from LinkedInOmniAuth 从 LinkedIn 中提取完整的个人资料数据
【发布时间】:2011-05-08 06:21:41
【问题描述】:

我很喜欢 OmniAuth 的易用性,但在收到令牌后,我很难在进行额外的 api 调用时联系起来。

我会以 LinkedIn 为例,但问题不是 LinkedIn,而是我对如何在通过身份验证后进行后续调用缺乏了解。

我可以向 LinkedIn 提出请求并进行身份验证。 然后我得到哈希,它完全填充了。

现在我想回电领英并获取我的完整个人资料数据或联系人列表。我该怎么做呢?毕竟我需要 oauth gem 吗?

我宁愿避免使用特定于应用程序的 gem,因为我必须向 twitter 和 facebook 发出相同的请求。

【问题讨论】:

    标签: ruby-on-rails ruby rubygems oauth omniauth


    【解决方案1】:

    我想我刚刚找到了答案。

    在与服务提供商(fb、twitter)完成 oauth 过程后,omniauth 会保存用户。在这里它将哈希传递给用户对象,哈希的内容在这里https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema这些凭据部分可用于请求进一步的请求(事实上你必须将这些保存在你的用户对象中)。

    【讨论】:

      【解决方案2】:

      马塞尔·法列尔是对的。 Omniauth 仅用于身份验证。

      你可以看看这个插件,它可以解决你的问题。

      https://github.com/pengwynn/linkedin

      【讨论】:

      • 对,但是我们如何使用 OmniAuth 来获取配置详细信息、用户令牌以及发出请求所需的任何其他内容?一些建议显示 session[:omniauth][:token] 或类似的,但如果有人登录到一个用户帐户也附加了 twitter、facebook 等怎么办?
      • 你是对的。有必要为所需的每项服务获取有效令牌。我没有答案。有人知道吗?
      • 也许这个帖子中提供的信息会帮助你:stackoverflow.com/questions/4187178/…
      • 我有同样的问题,但我没有得到任何牵引力。每个人似乎都在说它只是为了身份验证而你实际上不能向服务发出请求。这对我来说似乎不完整。 OmniAuth::Strategy 有一个请求方法 (intridea.github.com/omniauth/OmniAuth/…),看起来就像你会使用的那样,但我不确定如何获取我正在使用的策略的实例。
      • 嗯,它被称为 OmniAuth 是有原因的。你可以通过 request.env["omniauth.strategy"] 来拉取一个实例。
      【解决方案3】:

      Omniauth 仅用于身份验证。

      【讨论】:

      • 请看我对 Arkan 回答的评论。
      猜你喜欢
      • 2019-07-13
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 2021-04-11
      • 1970-01-01
      • 2012-07-18
      • 2014-04-29
      相关资源
      最近更新 更多