rest - Linkedin OAuth2授权码错误

标签 rest redirect get oauth-2.0 linkedin

我正在尝试从 Java Web 应用程序通过 Linkedin Auth2 进行连接:

  1. 在 linkedin 中添加了我自己的应用。
  2. 生成授权 URL:https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=XXX&scope=r_basicprofile%20r_fullprofile%20r_emailaddress&state=DCEEFWF454Us5dffef424&redirect_uri=http://localhost:9090/springmvc/token.htm
  3. 在新弹出窗口中输入我的 linkedin 登录名/密码。
  4. 成功返回redirect_uri previus上的请求,并取授权码“code”
  5. 生成 accessToken URL
  6. 发个帖子:https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=YYY&redirect_uri=http://localhost:9090/SpringMVC/token.htm&client_id=XXX&client_secret=ZZZ
  7. 获取下一个响应错误:{“error_description”:“缺少必需参数,包括无效参数值,参数不止一次。:无法检索访问 token :appId 或重定向 uri 与授权代码不匹配或授权代码已过期","error":"invalid_request"

我已验证 url 参数是否正确: - “代码”是在第 4 步收到的 token 。

  • “redirect_uri”与第 2 步和第 4 步中的 URL 相同。我在我的应用程序的“OAuth 2.0 重定向 URL”部分添加了此 URL。

  • “client_id”和“client_secret”是我APP上的“Client API”和“Secret API”。

  • 第一次和第二次请求之间的时间少于 20 秒。

最佳答案

redirect_uri 参数的值必须是 URL 编码的,所以在 6. 做:

 https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=YYY&redirect_uri=http%3A%2F%2Flocalhost%3A9090%2FSpringMVC%2Ftoken.htm&client_id=XXX&client_secret=ZZZ

它不需要作为 POST 发送,而是作为 GET 发送。

关于rest - Linkedin OAuth2授权码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29804501/

相关文章:

PhoneGap 上的 AngularJS REST 服务

java - Spring RestTemplate 遵循带有 cookie 的重定向

json - 快速获取 Json 5

无需重定向的 Facebook 登录

javascript - 通过javascript通过ajax请求获取页面的完整html源代码

python - 测试 REST API

linux - 如何在 Mac OS X 下重定向时间命令输出

java - 关于servlet映射的基本问题

php - 使用 $_GET

javascript - 正则表达式仅返回找到的第一个结果