当前位置: 首页 > 知识库问答 >
问题:

我如何向LinkedIn形成一个正确的POST请求,以交换访问令牌的临时auth代码,原因是SSL3吗?

史骏祥
2023-03-14
https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code
                                       &code=AUTHORIZATION_CODE
                                       &redirect_uri=YOUR_REDIRECT_URI
                                       &client_id=YOUR_API_KEY
                                       &client_secret=YOUR_SECRET_KEY
r = 'POST /uas/oauth2/accessToken HTTP/1.1' + crlf;
r += 'Host: www.linkedin.com' + crlf + crlf;
r += parameters;

其中crlf是'\r\n',参数将在主体中,并且将是:

grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=YOUR_REDIRECT_URI&client_id=YOUR_API_KEY&client_secret=YOUR_SECRET_KEY

大写值被应用程序和用户的实际值所取代。

然后,请求本身将被发送到https://www.linkedin.com/uas/oauth2/accesstoken,使用我提供的用于发出HTTP请求的函数。

        r = 'POST /uas/oauth2/accessToken HTTP/1.1' + crlf;
        r += 'Host: www.linkedin.com' + crlf ;
        r += 'Referer: http://' + site.txMainServer + '/LinkedProfile' + crlf;
        r += 'Content-Type: application/x-www-form-urlencoded' + crlf;
        r += 'Content-Length: ' + parameters.length + crlf + crlf;
        r += parameters;

新消息2:有人告诉我,LinkedIn也会接受GET请求。因此,我尝试了GET请求,而不是POST,它的形式与LinkedIn文档中显示的URL完全相同。但是如果我尝试这样做,我也会得到一个“*连接错误:1590”。所以我被卡住了。

新信息3:因为这是一个HTTPS请求,我尝试将上面的主机头替换为

Host: www.linkedin.com:443

但那无济于事。我仍然得到相同的“*连接错误:1590”。

道格

共有1个答案

祁宝
2023-03-14

我不熟悉服务器端js(你是说NodeJS?)。

所以暗地里说:有些公司在URL&POSTbody和linkedin要求https请求中都要求params,也许www.linkedin.com不对。

不能编辑评论,只需在这里发布;(

 类似资料:
  • 我一直在尝试使用简单的REST客户端以及Mozilla的REST插件。我收到“HTTP/1.1 401未授权”响应,正文中带有“{”error:“unauthorized_client”、“error_description”:“客户端未授权”}。 我已经成功获取了auth码,下面是访问令牌的POST请求,(范围r_fullprofile) https://www.linkedin.com/uas

  • 当我尝试使用以下命令生成访问令牌时: 它抛出的错误为: {“error_description”:“缺少必需的参数,包括无效的参数值,参数多次。:无法检索访问令牌:appId或重定向uri与授权码不匹配或授权码过期”,“error”:“invalid_request”}。 你能在这个问题上指导我吗?

  • 我已经学习了这篇关于配置OAuth2客户机的Spring引导OAuth2教程。不幸的是,一旦“用户”通过Idp(Okta)进行身份验证,就会发生带有“代码”的重定向,这将导致一个重定向循环: Firefox检测到服务器正在以一种永远无法完成的方式重定向对此地址的请求。 更新:解决方案是将更改为并重新创建授权服务器。

  • 我试图访问accounts.google.com,从使用HTTP post请求接收的授权代码中获取令牌。 请求: 下面是我正在使用的文档:在web服务器收到授权代码后,它可以将授权代码交换为访问令牌和刷新令牌。此请求是一个HTTPs post,包括以下参数: 字段描述代码从初始请求返回的授权代码client_id在应用程序注册过程中获得的client_secret在应用程序注册过程中获得的客户端秘

  • 我正在尝试生成访问令牌来收集领英数据。我按照领英API文档中提供的说明进行了操作。我在开发人员页面中创建了一个应用程序并获得了以下内容: 使用API密钥,我生成了带有URL的authorization_code: https://www.linkedin.com/uas/oauth2/authorization?response_type=code 但是当我最终尝试使用以下URL生成访问令牌时,我