【发布时间】:2022-01-20 06:57:23
【问题描述】:
我正在尝试调试 12 月 9 日出现的问题。我们使用 LinkedIn Profile API 在我们的平台上登录/注册用户,还可以选择允许他们将 LinkedIn 个人资料中的数据同步到他们在我们平台上的个人资料。然而,从 9 日开始,登录和注册都被破坏了。在错误开始出现之前,我们没有更改与此相关的代码。
现在,在尝试将某人登录到我们的平台时,我们没有收到基本的用户个人资料数据,而是从 LinkedIn API 收到错误。这些来自使用现已弃用的 request 包的 Node.js 服务器,但此后已移至 axios 并且仍在产生错误,尽管更详细但有帮助。从axios收到的错误如下:
{
"message": "write EPROTO 140075354449792:error:140920E3:SSL routines:ssl3_get_server_hello:parse tlsext:../deps/openssl/openssl/ssl/s3_clnt.c:1157:\n",
"name": "Error",
"stack": "Error: write EPROTO 140075354449792:error:140920E3:SSL routines:ssl3_get_server_hello:parse tlsext:../deps/openssl/openssl/ssl/s3_clnt.c:1157:\n\n at WriteWrap.afterWrite [as oncomplete] (net.js:868:14)",
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1,
"headers": {
"Accept": "application/json, text/plain, */*",
"User-Agent": "axios/0.24.0"
},
"method": "get",
"url": "https://api.linkedin.com/v2/me?oauth2_access_token=access-token-goes-here&projection=(id,firstName,lastName,maidenName,headline,summary,educations,skills,industryName,positions,vanityName,profilePicture(displayImage~:playableStreams))"
},
"code": "EPROTO",
"status": null
}
我多次读到这是一个 SSL 错误,它可能与将 HTTPS 用于不安全的端点(绝对不是这种情况)有关,或者使用的 TLS 版本可能不匹配,我不这样做'不相信也是问题。
但是,我也决定获取 URL 并使用 REST 客户端手动查询它,结果却出现了这个错误:
{
"serviceErrorCode": 0,
"message": "java.lang.StringIndexOutOfBoundsException: String index out of range: 147",
"status": 500
}
这表明LinkedIn API 的某个地方存在错误。我还验证了从Qualys SSL Labs 查询api.linkedin.com 时会出现类似的错误,Digicert 也无法连接到该域。
我这里有什么问题吗? LinkedIn API 当前是否损坏?这是对 log4j 缓解措施的回应吗?
【问题讨论】:
标签: linkedin linkedin-api