LinkedIn:Javascript令牌并在服务器中验证用户

时间:2017-07-24 11:09:53

标签: javascript api authentication oauth linkedin

我一直在阅读很多有关LinkedIn登录的问题/答案,通过javascript登录和后端用户验证。但我没有找到适用于当前API的解决方案。

我知道JS令牌与Oauth Token不同,我不需要保存令牌以备将来使用,我只需要在网站注册前验证用户。

用户通过身份验证后,我将要求基本个人资料用户api-standard-profile-request

IN.API.Profile("me").fields(
        'id', 'first-name', 'last-name', 'email-address', 'api-standard-profile-request')

apiStandardProfile返回一个带有url的对象(如此https://api.linkedin.com/v1/people/{id_user})和带有标题的数组(如此name: "x-li-auth-token", value: "name:xxxx")。我没有在官方文档中找到如何使用它,但每次“身份验证失败”时都会收到状态码为200.

那么,我是否需要使用Oauth2.0重写身份验证流程,还是可以继续使用Javascript登录?

由于

P.S。:我发现并阅读了这个旧主题https://web.archive.org/web/20141028192415/https://developer.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens中的旧文档。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我发现使用JS令牌的唯一方法是在使用Rest API请求内容时使用标头oauth_token而不是Authorization Bearer标头:

POST https://api.linkedin.com/v1/people/~:(id,firstName,lastName,picture-url,email-address)?format=json
Headers {
  'oauth_token': JS_TOKEN
}

JS_TOKEN我正在阅读 IN.ENV.auth.oauth_token 的前端。

答案 1 :(得分:0)

我还面临很多关于LinkedIn API的问题,我建议你关注Linkedin开发者网站上的最新开发文档,因为LinkedIn在2015年2月之后已经更改了他们的开发者计划significantly,因此取决于< strong>旧的API会有风险。

我相信以下内容可以帮助您解决问题,

 

如果您只需要公开个人资料,请在API中添加此public-profile-url作为逗号分隔参数。

https://api.linkedin.com/v1/people/~:(id,num-connections,picture-url,public-profile-url)?format=json

siteStandardProfileRequest ,请使用以下API

https://api.linkedin.com/v1/people/~?format=json

OAuth与Javascript SDK:

Javascript SDK

  • 优点:易于集成,编码工作量少,无需代币管理。

  • 缺点 - 不支持iOS

的OAuth

  • 优点:独立于平台
  • 缺点 - 令牌管理,更多编码工作