我们希望使用来自LinkedIn的信息更新我们的用户个人资料(如果用户选择导入此信息)。但是,我们希望使用Oauth2进行此授权,但是根据LinkedIn的网站,他们的REST API仅支持Ouath 1.0a:https://developer.linkedin.com/apis
有什么方法吗?
答案 0 :(得分: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的情况下使用这些端点,并可能导致您的客户端受到制裁。您可以联系他们并征得他们的同意。
答案 1 :(得分:0)
我在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 ......