Linkedin signin(无法检索访问令牌:appId或重定向uri与授权代码或授权代码已过期不匹配)

但使书种多,会有岁稔时。这篇文章主要讲述Linkedin signin:无法检索访问令牌:appId或重定向uri与授权代码或授权代码已过期不匹配相关的知识,希望能为你提供帮助。
我在http://localhost/index.php中有以下按钮:

< a href="https://www.linkedin.com/uas/oauth2/authorization?response_type=code& client_id=123456789& state=adasd8asd8sad& scope=r_basicprofile& redirect_uri=http://localhost/linkedin.php"> Linked in< /a>

然后在redirect_url我有以下PHP代码:
< ?php $data = https://www.songbingjia.com/android/array('client_id'=> '123456789', 'client_secret' => 'abcdefghijklm', 'grant_type'=> 'authorization_code', 'code'=> $_REQUEST['code'], 'redirect_uri'=> 'http://localhost/index.php', ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://www.linkedin.com/uas/oauth2/accessToken'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); var_dump($result); die;

但是这会导致:
string(263)“{”error_description“:”缺少必需参数,包含无效参数值,参数不止一次。 :无法检索访问令牌:appId或重定向uri与授权代码或授权代码已过期不匹配“,”错误“:”invalid_request“}”
【Linkedin signin(无法检索访问令牌:appId或重定向uri与授权代码或授权代码已过期不匹配)】我还想说,点击链接后,最长2秒,直到运行linkedin.php中的代码。所以它在20秒内就能满足要求。所以它真的不能过期。
在Linkedin的开发者控制台:
配置的重定向网址是:http://localhost/linkedin.php和http://localhost/index.php
'client_id'=> '123456789'(模糊),'client_secret'=> 'abcdefghijklm'(模糊)
默认应用程序权限:r_basicprofile
谁能明白为什么我会收到这个错误?
答案当您调用/accessToken端点时,必须指定与初始redirect_uri请求相同的/authorization值。见OAuth2 RFC。现在你的价值不同了:
  • http://localhost/linkedin.php
  • http://localhost/index.php

    推荐阅读