接入JWT
Signed-off-by: vilson <545522390@qq.com>
This commit is contained in:
parent
ea577de1e6
commit
25fde42041
@ -205,7 +205,10 @@ class Index extends BasicApi
|
|||||||
if (isError($data)) {
|
if (isError($data)) {
|
||||||
$this->error('token过期,请重新登录', 401);
|
$this->error('token过期,请重新登录', 401);
|
||||||
}
|
}
|
||||||
$this->success('', JwtService::getAccessToken(get_object_vars($data->data)));
|
$accessToken = JwtService::getAccessToken(get_object_vars($data->data));
|
||||||
|
$accessTokenExp = JwtService::decodeToken($accessToken)->exp;
|
||||||
|
$tokenList['accessTokenExp'] = $accessTokenExp;
|
||||||
|
$this->success('', ['accessToken' => $accessToken, 'accessTokenExp' => $accessTokenExp]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,21 +30,22 @@ class Auth
|
|||||||
if ($currentOrganizationCode) {
|
if ($currentOrganizationCode) {
|
||||||
setCurrentOrganizationCode($currentOrganizationCode);
|
setCurrentOrganizationCode($currentOrganizationCode);
|
||||||
}
|
}
|
||||||
|
// 登录状态检查
|
||||||
|
if (!empty($access['is_login'])) {
|
||||||
$authorization = $request->header('Authorization');
|
$authorization = $request->header('Authorization');
|
||||||
$accessToken = '';
|
$accessToken = '';
|
||||||
if ($authorization) {
|
if ($authorization) {
|
||||||
$accessToken = explode(' ', $authorization)[1];
|
$accessToken = explode(' ', $authorization)[1];
|
||||||
}
|
}
|
||||||
$data = JwtService::decodeToken($accessToken);
|
$data = JwtService::decodeToken($accessToken);
|
||||||
// 登录状态检查
|
|
||||||
if (!empty($access['is_login'])) {
|
|
||||||
$isError = isError($data);
|
$isError = isError($data);
|
||||||
if ($isError) {
|
if ($isError) {
|
||||||
|
//TODO 启用refreshToken
|
||||||
if ($data['errno'] == 3) {
|
if ($data['errno'] == 3) {
|
||||||
$msg = ['code' => 4010, 'msg' => 'accessToken过期'];
|
$msg = ['code' => 401, 'msg' => 'accessToken过期'];
|
||||||
return json($msg);
|
return json($msg);
|
||||||
}
|
}
|
||||||
$msg = ['code' => 401, 'msg' => 'token过期,请重新登录'];
|
$msg = ['code' => 402, 'msg' => 'token过期,请重新登录'];
|
||||||
return json($msg);
|
return json($msg);
|
||||||
}
|
}
|
||||||
setCurrentMember(get_object_vars($data->data));
|
setCurrentMember(get_object_vars($data->data));
|
||||||
|
@ -5,7 +5,7 @@ return [
|
|||||||
'key' => 'pearProject',
|
'key' => 'pearProject',
|
||||||
'alg' => 'HS256',
|
'alg' => 'HS256',
|
||||||
//access_token有效时间
|
//access_token有效时间
|
||||||
'accessTokenExp' => 20,
|
'accessTokenExp' => 3600,
|
||||||
//refresh_token有效时间
|
//refresh_token有效时间
|
||||||
'refreshTokenExp' => 3600 * 24 * 7,
|
'refreshTokenExp' => 3600 * 24 * 7,
|
||||||
//签发者 可选
|
//签发者 可选
|
||||||
|
@ -100,7 +100,7 @@ class JwtService
|
|||||||
public static function decodeToken($token)
|
public static function decodeToken($token)
|
||||||
{
|
{
|
||||||
$jwtConfig = config('jwt.');
|
$jwtConfig = config('jwt.');
|
||||||
JWT::$leeway = 60;//当前时间减去60,把时间留点余地
|
// JWT::$leeway = 60; //当前时间减去60,把时间留点余地
|
||||||
try {
|
try {
|
||||||
$decoded = JWT::decode($token, $jwtConfig['key'], array($jwtConfig['alg']));//解密方式,这里要和签发的时候对应
|
$decoded = JWT::decode($token, $jwtConfig['key'], array($jwtConfig['alg']));//解密方式,这里要和签发的时候对应
|
||||||
} catch (\Firebase\JWT\SignatureInvalidException $e) { //签名不正确
|
} catch (\Firebase\JWT\SignatureInvalidException $e) { //签名不正确
|
||||||
|
Loading…
x
Reference in New Issue
Block a user