【问题标题】:LinkedIn verify user auth token server sideLinkedIn验证用户身份验证令牌服务器端
【发布时间】:2016-11-03 17:52:59
【问题描述】:

经过 1 天的研究,我以以下问题结束。我正在使用 ember.js 构建一个 Web 应用程序,目前我正在使用linkedin javascript sdk 实现 LinkedIn 登录。我遇到的问题是,在收到用户信息(令牌、电子邮件、名字等)后,我需要在服务器端验证此令牌才能进行盛大会话。不幸的是,文档对我来说不是很清楚。我可以使用 IN.ENV.auth 访问令牌(或某种令牌),但是当我尝试从他们两个中验证一个时,我收到“无效请求”。在服务器端,我使用的是节点,示例代码如下所示:

var request = require('request');
var options = {
    url: 'https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=TOKEN_RECIEVED_THROUGH_IN.ENV.auth&redirect_uri=my-domain&client_id=API_CLIENT_ID&client_secret=API_SECRET_KEY'
};
request(options,function(err,res,body){
    console.log(body);
});

来自sdk的响应是这样的:

anonymous_expires_in: 1800
anonymous_token: "4u948tas123asfK9DJx9HFYJgcsBFlhIFu93gG"
api_key: "API_KEY"
is_set_client_auth_cookie: false
member_id: "4a13sdasFeD"
oauth_expires_in: 1800
oauth_token: "66Dy9V123lL7H823ddl-5L-KVmg184k0dhAaS"

提前致谢。

【问题讨论】:

    标签: javascript node.js linkedin


    【解决方案1】:

    看来,如果您只是将标头 oauth_token 添加到 GET 请求,它就可以工作:

    GET /v1/people/~:(id,firstName,lastName,siteStandardProfileRequest,picture-url,email-address)?format=json HTTP/1.1
    Host: api.linkedin.com
    oauth_token: your-token-here
    

    附:但我不确定它是否会持续工作,因为我没有阅读过文档

    【讨论】:

      【解决方案2】:

      从 JS SDK 和服务器端 OAuth 授予的 LinkedIn 身份验证令牌不同。

      LinkedIn 的开发者网站上记录了一个流程,解释了如何将 JS 令牌交换为 REST API/服务器端令牌:https://developer-programs.linkedin.com/documents/exchange-jsapi-tokens-rest-api-oauth-tokens

      【讨论】:

      • 网址未找到,还需要添加一些细节答案。这个答案现在没用了
      • @SameerKazi,嗨,你找到解决方案了吗?我一直在使用相同的方法,但我也无法找到该文档。我已经读到这将在未来被删除,因为 OAuth2 将是拥有可用于 REST API 调用的访问令牌的唯一选项。
      • 目前没有可用的端点来通过 LinkedIn API 执行令牌验证。您只能请求(和一个特殊的子情况:刷新)OAuth 2 令牌。
      • @EnterSB 否,未找到解决方案。如果您得到任何帮助,请在此处发布。
      • @SameerKazi,正如我在研究中所了解的那样,这是不可能的。 JS SDK 不提供授权步骤所需的代码。人们所指的这些文件中的大多数都无法再访问了。因此,我专注于 LinkedIn 建议并创建了 OAuth2 登录。我建议使用相同的方法。注意,请小心设置redirect_url。需要与否,它需要在 url 末尾使用斜杠 (/),例如localhost/home.html?something=true.
      【解决方案3】:

      对于需要通过 Postman 等检查令牌有效性的人...

      您可以通过请求具有下一个参数来实现此目的...

      例子:

      Method GET:
      https://api.linkedin.com/v1/people/~?format=json
      
      Headers: 
      Authorization Bearer "here you add your access token"
      Content-Type application/json
      x-li-src msdk
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-16
        • 1970-01-01
        • 2021-01-26
        • 2012-06-05
        • 2020-06-09
        • 2011-11-04
        • 2015-10-23
        • 1970-01-01
        相关资源
        最近更新 更多