master
fengyuexingzi 8 years ago
parent da873f5e3e
commit f6e64b85b5

@ -36,26 +36,29 @@ function getAccessToken($code)
$result = json_decode($result, true);
if (isset($result['access_token'])) {
return $result['access_token'];
}
return $result;
}
// step 2: get user info by access token
function getInfo($url, $access_token)
function getInfo($access_token)
{
$url = "https://api.linkedin.com/v1/people/~?format=json";
// 1. 判断 AccessToken 状态(过期,即将过期,正常,无效)
// 2.AccessToken 1无效或过期回到 step 1 重新请求; 2即将过期 调用刷新接口3正常使用
$data = [
'access_token' => "AQXMRNlQv7rqemb6KmBKMWurtL7I6KV381MUxXQIeW6YszIueblWCVatVrVACzO-L2wWI7VSgto_hvH_ET1E7aVUjAalRXvcEu4qsWx57YS1yVANEbpez3dQUupIRrqGOGnokRHR64nQyVFqTPaS9e2hPvO_miOtlBD3mzQjxLC1O2xxJrG4BIWohlNmMyxgvVXM2OZCurPG5rFyfoitB-rmI6JyvW4tUYRFoJLe5XzjfpUWoe0OUzWxo8y67xrY4tIBAILKGnMM2KDfHKyVJx9JDoVC7jCPHaWC9mSEWSSlunC5Q_xJuJb98MPwDUlrtXkvpJSC9yzbsODR_nnBr5coHEcIlA",
'access_token' => 'AQUhXDdWEWNdYAn6zHrahzIWATYDW4OptdpCPmAcPoSW9mIIdUwhpQj8XLTIIP1PyDBUs5hyUb86it8GQNS7kcsW3o4QggkAiswA2c3X-nO8byjQBaIiRoQuyGpboEN672NRWgB6B7PvtX4Gujz6BWf0sUPvIITKRdF_PoasfDrits5TJGsnJZZFxm8JzDamQ8Xt4tzal1zMqundj1I5OxyGWhdl9uGuly9M2NfsZZ6_qxT0b7OnaWUU6dq5uKVSqsR_QY8HlDgBtw-HGvODNHMmPhtigjrdcoMaztobvNj7ReTMWN-TNhWLEb4QZaoWCG2X7b9bXnUYi1Cbp_VZoOaj_jMRug',
'expires_in' => '1534052395',
];
$info_url = "https://api.linkedin.com/v1/people/~?format=json";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: ' . $access_token,
'Authorization: ' . $data['access_token'],
]);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@ -69,13 +72,23 @@ function getInfo($url, $access_token)
return $info;
}
// 防止 CSRF 跨站请求伪造
if ($_GET['state'] != $state) {
die('hack');
}
unset($_SESSION['state']);
dump($_REQUEST);
dump($_SESSION);
//$access_token = getAccessToken($_GET['code']);
// 请求 access_token 失败
//if (is_array($access_token)) {
// dump($access_token);
// die;
//}
// 此处应保存至数据库或 Redis
$access_token = getAccessToken($_GET['code']);
$info = getInfo();
$info = json_encode($info);
header("Location: https://fengyuexingzi.top/auth/linkedin?access_token=${info}");

Loading…
Cancel
Save