Commit 8e747984 authored by 刘小敏's avatar 刘小敏

getsessionid 自动登录增加禁用校验

parent 2c635aae
......@@ -3,6 +3,7 @@
namespace addons\shopro\service\third\wechat;
use addons\shopro\facade\Wechat;
use app\admin\model\User;
use fast\Random;
use app\common\library\Auth;
use app\admin\model\shopro\ThirdOauth;
......@@ -110,13 +111,18 @@ class MiniProgram
if (empty($decryptData['session_key'])) {
error_stop('未获取到登陆态, 请重试', -1);
}
$auto_login = $this->payload['auto_login'] ?? false;
// 自动登录流程
$auto_login = $this->payload['auto_login'] ?? false;
if($auto_login) {
$oauthInfo = ThirdOauth::getByOpenid($decryptData['openid']);
if($oauthInfo && $oauthInfo->user_id) {
$user = User::find($oauthInfo->user_id);
if ($user['status'] == 'disable') {
return [ 'session_id' => '', 'auto_login' => false, 'disabled' => true , 'message' => '您的账号已被禁用,请联系管理员'];
}
$auth = Auth::instance();
$ret = $auth->direct($oauthInfo->user_id);
if ($ret) {
......@@ -124,7 +130,7 @@ class MiniProgram
}
}
}
$session_id = Random::uuid();
redis_cache($session_id, $decryptData, 60 * 60 * 24 * 7); // session_key缓存保留一周
return ['session_id' => $session_id, 'auto_login' => $auto_login];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment