!22 BuildToken相关问题

Merge pull request !22 from Ufec/master
This commit is contained in:
Zhao 2020-06-24 17:52:19 +08:00 committed by Gitee
commit abf4530fa0

View File

@ -27,7 +27,6 @@ class BuildToken extends Base {
if (empty($appInfo)) { if (empty($appInfo)) {
return $this->buildFailed(ReturnCode::INVALID, '应用ID非法'); return $this->buildFailed(ReturnCode::INVALID, '应用ID非法');
} }
$signature = $param['signature']; $signature = $param['signature'];
unset($param['signature']); unset($param['signature']);
$sign = $this->getAuthToken($appInfo['app_secret'], $param); $sign = $this->getAuthToken($appInfo['app_secret'], $param);
@ -37,17 +36,18 @@ class BuildToken extends Base {
} }
$expires = config('apiadmin.ACCESS_TOKEN_TIME_OUT'); $expires = config('apiadmin.ACCESS_TOKEN_TIME_OUT');
$accessToken = cache('AccessToken:' . $param['device_id']); $accessToken = cache('AccessToken:' . $param['device_id']);
// 有当前应用的token缓存就直接返回缓存中的token
if ($accessToken) { if ($accessToken) {
cache('AccessToken:' . $accessToken, null); $return['access_token'] = $accessToken;
cache('AccessToken:' . $param['device_id'], null); $return['expires_in'] = $expires;
} }else{
$accessToken = $this->buildAccessToken($appInfo['app_id'], $appInfo['app_secret']); $accessToken = $this->buildAccessToken($appInfo['app_id'], $appInfo['app_secret']);
$appInfo['device_id'] = $param['device_id']; $appInfo['device_id'] = $param['device_id'];
cache('AccessToken:' . $accessToken, $appInfo, $expires); cache('AccessToken:' . $accessToken, $appInfo, $expires);
cache('AccessToken:' . $param['device_id'], $accessToken, $expires); cache('AppId:' . $param['app_id'], $accessToken, $expires);
$return['access_token'] = $accessToken; $return['access_token'] = $accessToken;
$return['expires_in'] = $expires; $return['expires_in'] = $expires;
}
return $this->buildSuccess($return); return $this->buildSuccess($return);
} }
@ -62,10 +62,11 @@ class BuildToken extends Base {
return ''; return '';
} else { } else {
unset($data['APP_CONF_DETAIL'], $data['API_CONF_DETAIL']); unset($data['APP_CONF_DETAIL'], $data['API_CONF_DETAIL']);
// 去除当前路由防止sign验签失败
array_shift($data);
$preArr = array_merge($data, ['app_secret' => $appSecret]); $preArr = array_merge($data, ['app_secret' => $appSecret]);
ksort($preArr); ksort($preArr);
$preStr = http_build_query($preArr); $preStr = http_build_query($preArr);
return md5($preStr); return md5($preStr);
} }
} }