【问题标题】:Using LinkedIn's REST API with Play! 2 and Oauth 2在 Play 中使用 LinkedIn 的 REST API! 2 和 Oauth 2
【发布时间】:2012-07-16 12:33:20
【问题描述】:

我们希望使用来自 LinkedIn 的信息更新我们的用户个人资料(如果用户选择导入此信息)。但是,我们希望使用 Oauth2 进行此授权,但根据 LinkedIn 的网站,他们的 REST API 仅支持 Ouath 1.0a:https://developer.linkedin.com/apis

有什么办法吗?

【问题讨论】:

    标签: rest oauth-2.0 playframework-2.0 linkedin


    【解决方案1】:

    由于LinkedIn 使用他们的JavaScript API 提供OAuth 2 访问权限,您可以深入研究他们的Javascript 代码并以某种方式访问​​包含the OAuth 2 endpoints 的文件:

    l.api = "https://api.linkedin.com/v1";
    l.login = "https://www.linkedin.com/uas/connect/user-signin";
    l.authorize = "https://www.linkedin.com/uas/oauth2/authorize?immediate=true";
    [...]
    l.logout = "https://www.linkedin.com/uas/connect/logout?oauth_token={OAUTH_TOKEN}&api_key={API_KEY}&callback={CALLBACK}";
    l.userspace_renew = "https://www.linkedin.com/uas/js/authuserspace?v=0.0.2000-RC1.20001-1400&api_key={API_KEY}";
    

    对于请求资源,可能使用REST API documentation 中的端点。

    但是,请注意,他们的terms of use 可能禁止在没有他们的 JS API 的情况下使用这些端点,这可能会导致您的客户端受到制裁。您可以联系他们并请求许可。

    【讨论】:

    【解决方案2】:

    我在 Scala 和 Java 中创建了一个 Play 2.x 客户端,它支持 OAuth/CAS/OpenID/HTTP 身份验证和用户配置文件检索:https://github.com/leleuj/play-pac4j

    对于 OAuth 支持,它基于 Scribe,支持 LinkedIn、Facebook、Twitter、Google、Yahoo、DropBox、Github、Windows live、WordPress...

    【讨论】:

      猜你喜欢
      • 2019-01-14
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 2017-10-13
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多