|
@@ -63,7 +63,7 @@ class LoginController extends AbstractController
|
|
|
$errorMessage = $validator->errors()->first();
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
- // $comm = new CommonService();
|
|
|
+ // $comm = new CommonService();
|
|
|
// $redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
// $code = $redis->get($reqData['code']);
|
|
|
// if (empty($code)) {
|
|
@@ -99,11 +99,11 @@ class LoginController extends AbstractController
|
|
|
'SiteId'=>Context::get("SiteId")
|
|
|
];
|
|
|
var_dump("参数:",$authData);
|
|
|
- $resultAuth = $this->checkUserAuth($authData);
|
|
|
+ $resultAuth = $this->checkUserAuth($authData);
|
|
|
|
|
|
- if(!$resultAuth){
|
|
|
- return Result::error("您没有权限登陆此网站");
|
|
|
- }
|
|
|
+ if(!$resultAuth){
|
|
|
+ return Result::error("您没有权限登陆此网站");
|
|
|
+ }
|
|
|
}
|
|
|
$userData = [
|
|
|
'uid' => $userInfos['data']['id'], // 如果使用单点登录,必须存在配置文件中的sso_key的值,一般设置为用户的id
|
|
@@ -118,21 +118,21 @@ class LoginController extends AbstractController
|
|
|
// 检查是否有旧的token
|
|
|
$old_token = UserToken::where('user_id', $userData['uid'])->first();
|
|
|
if (!empty($old_token)) {
|
|
|
- $jwt->logout($old_token->token);
|
|
|
- try {
|
|
|
- $jwt->verifyToken($old_token->token);
|
|
|
- }catch (\Exception $exception){
|
|
|
- $code = $exception->getCode();
|
|
|
- if ($code== 400) {
|
|
|
- $new_token = UserToken::where('user_id', $userData['uid'])->update(['token' => $token->toString()]);
|
|
|
- if (empty($new_token)) {
|
|
|
- return Result::error("Token过期失败!");
|
|
|
- }
|
|
|
-
|
|
|
- } else{
|
|
|
+ $jwt->logout($old_token->token);
|
|
|
+ try {
|
|
|
+ $jwt->verifyToken($old_token->token);
|
|
|
+ }catch (\Exception $exception){
|
|
|
+ $code = $exception->getCode();
|
|
|
+ if ($code== 400) {
|
|
|
+ $new_token = UserToken::where('user_id', $userData['uid'])->update(['token' => $token->toString()]);
|
|
|
+ if (empty($new_token)) {
|
|
|
return Result::error("Token过期失败!");
|
|
|
}
|
|
|
+
|
|
|
+ } else{
|
|
|
+ return Result::error("Token过期失败!");
|
|
|
}
|
|
|
+ }
|
|
|
}else{
|
|
|
$usernew_token = $token->toString();
|
|
|
$user_token = UserToken::create([
|
|
@@ -374,8 +374,8 @@ class LoginController extends AbstractController
|
|
|
return Result::error($errorMessage);
|
|
|
}
|
|
|
try {
|
|
|
- $status = $jwt->verifyToken($reqData['token']);
|
|
|
- var_dump("状态:",$status);
|
|
|
+ $status = $jwt->verifyToken($reqData['token']);
|
|
|
+ // var_dump("状态:",$status);
|
|
|
return Result::success(['isLogin' => true]);
|
|
|
}catch(\Exception $e){
|
|
|
return Result::error('token已过期:'.$e->getMessage());
|
|
@@ -465,26 +465,31 @@ class LoginController extends AbstractController
|
|
|
if (empty($theHost)) {
|
|
|
return Result::error('系统配置错误:THE_HOST 未定义');
|
|
|
}
|
|
|
+ var_dump("admintoken:",$adminToken);
|
|
|
// 如果存在 adminToken,则进行登录校验
|
|
|
if (!empty($adminToken)) {
|
|
|
// 处理登录
|
|
|
$redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
+ var_dump("ticket1111:",$ticket);
|
|
|
if(!empty($ticket)){
|
|
|
if (!empty($ticket) && $redis->exists('ticket:' . $ticket)) {
|
|
|
-
|
|
|
+
|
|
|
$backurl = rtrim($backurl, '/');
|
|
|
return $this->response->redirect($this->fun_http($backurl . '?ticket=' . $ticket . '&admintoken=' . urlencode($adminToken)), 302);
|
|
|
-
|
|
|
+
|
|
|
}else{
|
|
|
+ var_dump("222222222:");
|
|
|
return $this->response->redirect($this->fun_http('http://'.$theHost.'/#/login?backurl='.urlencode($backurl)), 302);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}else{
|
|
|
$ticket = md5($adminToken);
|
|
|
}
|
|
|
+ var_dump("333333333333333:");
|
|
|
return $this->response->redirect($this->fun_http($backurl . '?ticket=' . $ticket . '&admintoken=' . urlencode($adminToken)), 302);
|
|
|
-
|
|
|
+
|
|
|
}else{
|
|
|
+ var_dump("444444444444444:");
|
|
|
return $this->response->redirect($this->fun_http('http://'.$theHost.'/#/login?backurl='.urlencode($backurl)), 302);
|
|
|
}
|
|
|
}
|
|
@@ -547,6 +552,7 @@ class LoginController extends AbstractController
|
|
|
*/
|
|
|
public function logout(Jwt $jwt)
|
|
|
{
|
|
|
+
|
|
|
$reqData = $this->request->all();
|
|
|
$validator = $this->validationFactory->make(
|
|
|
$reqData,
|
|
@@ -565,30 +571,26 @@ class LoginController extends AbstractController
|
|
|
}
|
|
|
$redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
$ticket = md5($reqData['admintoken']);
|
|
|
- $isDel = 0;
|
|
|
- if ($redis->exists('ticket:' . $ticket)) {
|
|
|
- $res = $redis->del('ticket:' . $ticket);
|
|
|
- if (!!$res && $res == 1) $isDel = 1;
|
|
|
- }else{
|
|
|
- $isDel = 1;
|
|
|
- }
|
|
|
|
|
|
- $expire = time() - 3600;
|
|
|
+ $res = $redis->del('ticket:' . $ticket);
|
|
|
+ var_dump("删除redis:", $res);
|
|
|
+ var_dump("获取redis:", $redis->get('ticket:' . $ticket));
|
|
|
+ $expire = time();
|
|
|
$cookieName = 'Admin-Token';
|
|
|
// 创建 Cookie 实例
|
|
|
$cookie = new Cookie($cookieName, '', $expire, '/');
|
|
|
// 清空 Cookie
|
|
|
- $this->response = $this->response->withCookie($cookie);
|
|
|
-// $this->response->withCookie("Admin-Token", '', time(), '/');
|
|
|
-// setcookie("Admin-Token", "", time(), "/");
|
|
|
+ $r = $this->response = $this->response->withCookie($cookie);
|
|
|
+ var_dump("清空Cookie:", $r);
|
|
|
try {
|
|
|
$jwt->logout($reqData['admintoken']);
|
|
|
-
|
|
|
}catch (\Exception $e){
|
|
|
- $backurl = $this->fun_http($reqData['backurl']);
|
|
|
- return $this->response->redirect($backurl, 302);
|
|
|
+ var_dump("返回错误信息:",$e->getMessage());
|
|
|
+// $backurl = $this->fun_http($reqData['backurl']);
|
|
|
+// return $this->response->redirect($backurl, 302);
|
|
|
}
|
|
|
$backurl = $this->fun_http($reqData['backurl']);
|
|
|
+ var_dump("返回地址:",$backurl);
|
|
|
return $this->response->redirect($backurl, 302);
|
|
|
}
|
|
|
|
|
@@ -598,7 +600,9 @@ class LoginController extends AbstractController
|
|
|
*/
|
|
|
public function backlogin()
|
|
|
{
|
|
|
+
|
|
|
$reqData = $this->request->all();
|
|
|
+ var_dump("===============接收参数:",$reqData);
|
|
|
$validator = $this->validationFactory->make(
|
|
|
$reqData,
|
|
|
[
|
|
@@ -617,9 +621,18 @@ class LoginController extends AbstractController
|
|
|
$redis = $this->container->get(\Hyperf\Redis\Redis::class);
|
|
|
$ticket = md5($reqData['token']);
|
|
|
$res = $redis->set('ticket:' . $ticket, $reqData['token'], 3600*24);
|
|
|
+ var_dump("===============返回值:",$res);
|
|
|
+ $expire = time()+3600*24;
|
|
|
+ $cookieName = 'Admin-Token';
|
|
|
+ // 创建 Cookie 实例
|
|
|
+ $cookie = new Cookie($cookieName, $reqData['token'], $expire, '/');
|
|
|
+ // 清空 Cookie
|
|
|
+ $r = $this->response = $this->response->withCookie($cookie);
|
|
|
+ var_dump("设置token:", $r);
|
|
|
if($res && !empty($ticket)){
|
|
|
$url = $reqData['backurl'] . '/?ticket=' . $ticket . '&admintoken=' . urlencode($reqData['token']);
|
|
|
$url = $this->fun_http($url);
|
|
|
+ var_dump("跳转地址gogo:",$url);
|
|
|
return $this->response->redirect($url, 302);
|
|
|
}
|
|
|
}
|