|
|
@@ -0,0 +1,46 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+
|
|
|
+namespace App\Http\Middleware;
|
|
|
+
|
|
|
+use App\Helpers\Jwt;
|
|
|
+use App\Services\ConfigService;
|
|
|
+use App\Services\RedisService;
|
|
|
+use Closure;
|
|
|
+use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
|
|
+
|
|
|
+class WebUser extends Middleware
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * 执行句柄
|
|
|
+ * @param \Illuminate\Http\Request $request
|
|
|
+ * @param Closure $next
|
|
|
+ * @param mixed ...$guards
|
|
|
+ * @return mixed
|
|
|
+ * @throws \Illuminate\Auth\AuthenticationException
|
|
|
+ * @since 2020/8/31
|
|
|
+ * @author wesmiler
|
|
|
+ */
|
|
|
+ public function handle($request, Closure $next, ...$guards)
|
|
|
+ {
|
|
|
+ $token = $request->headers->get('Authorization');
|
|
|
+ if (strpos($token, 'Bearer ') !== false) {
|
|
|
+ $token = str_replace("Bearer ", null, $token);
|
|
|
+ $token = trim($token);
|
|
|
+ if($token){
|
|
|
+ // JWT解密token
|
|
|
+ $jwt = new Jwt('jwt_lgx_app');
|
|
|
+ $userId = $jwt->verifyToken($token);
|
|
|
+ }else{
|
|
|
+ return response()->json(message(1035, false, [], 403))->setEncodingOptions(256);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $userId = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ $request->headers->set('token_uid' , $userId);
|
|
|
+ //如果已登录则执行正常的请求
|
|
|
+ return $next($request);
|
|
|
+ }
|
|
|
+}
|