|
@@ -1,81 +1,81 @@
|
|
-<?php
|
|
|
|
-
|
|
|
|
-declare(strict_types=1);
|
|
|
|
-
|
|
|
|
-namespace App\Middleware\Auth;
|
|
|
|
-
|
|
|
|
-use Hyperf\HttpServer\Contract\RequestInterface;
|
|
|
|
-use Hyperf\HttpServer\Contract\ResponseInterface as HttpResponse;
|
|
|
|
-use Psr\Container\ContainerInterface;
|
|
|
|
-use Psr\Http\Message\ResponseInterface;
|
|
|
|
-use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
-use Psr\Http\Server\MiddlewareInterface;
|
|
|
|
-use Psr\Http\Server\RequestHandlerInterface;
|
|
|
|
-use Hyperf\Context\Context;
|
|
|
|
-
|
|
|
|
-use Phper666\JWTAuth\JWT;
|
|
|
|
-class FooMiddleware implements MiddlewareInterface
|
|
|
|
-{
|
|
|
|
- protected ContainerInterface $container;
|
|
|
|
-
|
|
|
|
- protected RequestInterface $request;
|
|
|
|
-
|
|
|
|
- protected HttpResponse $response;
|
|
|
|
- protected JWT $JWT;
|
|
|
|
-
|
|
|
|
- public function __construct(ContainerInterface $container, HttpResponse $response, RequestInterface $request,Jwt $JWT)
|
|
|
|
- {
|
|
|
|
- $this->container = $container;
|
|
|
|
- $this->response = $response;
|
|
|
|
- $this->request = $request;
|
|
|
|
- $this->JWT = $JWT;
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
|
|
- {
|
|
|
|
-
|
|
|
|
- $header = $request->getHeaders();
|
|
|
|
- try {
|
|
|
|
- if($header && isset($header['token']) && $header['token'][0]!='null' && $header['token'][0]!='' && isset($header['token'][0])){
|
|
|
|
- var_dump("token类型:",$header['token'][0]);
|
|
|
|
- $ver = $this->JWT->getClaimsByToken($header['token'][0]);
|
|
|
|
- $tokenTime = $this->JWT->getTokenDynamicCacheTime($header['token'][0]);
|
|
|
|
- if($tokenTime==0){
|
|
|
|
- return $this->response->json(
|
|
|
|
- [
|
|
|
|
- 'code' => -1,
|
|
|
|
- 'data' => [],
|
|
|
|
- 'message' => 'token无效,请重新登录',
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
-// var_dump("中间件:",$ver);
|
|
|
|
- Context::set("UserId",$ver['uid']);
|
|
|
|
- Context::set("TypeId",$ver['type_id']);
|
|
|
|
- if ($ver) {
|
|
|
|
- return $handler->handle($request);
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
- return $this->response->json(
|
|
|
|
- [
|
|
|
|
- 'code' => -1,
|
|
|
|
- 'data' => [],
|
|
|
|
- 'message' => 'token无效,请重新登录',
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }catch (\Exception $e){
|
|
|
|
- var_dump("错误消息1:",$e->getMessage(),$e->getCode());
|
|
|
|
- return $this->response->json(
|
|
|
|
- [
|
|
|
|
- 'code' => $e->getCode(),
|
|
|
|
- 'data' => [],
|
|
|
|
- 'message' => $e->getMessage(),
|
|
|
|
- ]
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+declare(strict_types=1);
|
|
|
|
+
|
|
|
|
+namespace App\Middleware\Auth;
|
|
|
|
+
|
|
|
|
+use Hyperf\HttpServer\Contract\RequestInterface;
|
|
|
|
+use Hyperf\HttpServer\Contract\ResponseInterface as HttpResponse;
|
|
|
|
+use Psr\Container\ContainerInterface;
|
|
|
|
+use Psr\Http\Message\ResponseInterface;
|
|
|
|
+use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
+use Psr\Http\Server\MiddlewareInterface;
|
|
|
|
+use Psr\Http\Server\RequestHandlerInterface;
|
|
|
|
+use Hyperf\Context\Context;
|
|
|
|
+
|
|
|
|
+use Phper666\JWTAuth\JWT;
|
|
|
|
+class FooMiddleware implements MiddlewareInterface
|
|
|
|
+{
|
|
|
|
+ protected ContainerInterface $container;
|
|
|
|
+
|
|
|
|
+ protected RequestInterface $request;
|
|
|
|
+
|
|
|
|
+ protected HttpResponse $response;
|
|
|
|
+ protected JWT $JWT;
|
|
|
|
+
|
|
|
|
+ public function __construct(ContainerInterface $container, HttpResponse $response, RequestInterface $request,Jwt $JWT)
|
|
|
|
+ {
|
|
|
|
+ $this->container = $container;
|
|
|
|
+ $this->response = $response;
|
|
|
|
+ $this->request = $request;
|
|
|
|
+ $this->JWT = $JWT;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ $header = $request->getHeaders();
|
|
|
|
+ try {
|
|
|
|
+ if($header && isset($header['token']) && $header['token'][0]!='null' && $header['token'][0]!='' && isset($header['token'][0])){
|
|
|
|
+ var_dump("token类型:",$header['token'][0]);
|
|
|
|
+ $ver = $this->JWT->getClaimsByToken($header['token'][0]);
|
|
|
|
+ $tokenTime = $this->JWT->getTokenDynamicCacheTime($header['token'][0]);
|
|
|
|
+ if($tokenTime==0){
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ [
|
|
|
|
+ 'code' => -1,
|
|
|
|
+ 'data' => [],
|
|
|
|
+ 'message' => 'token无效,请重新登录',
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+// var_dump("中间件:",$ver);
|
|
|
|
+ Context::set("UserId",$ver['uid']);
|
|
|
|
+ Context::set("TypeId",$ver['type_id']);
|
|
|
|
+ if ($ver) {
|
|
|
|
+ return $handler->handle($request);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ [
|
|
|
|
+ 'code' => -1,
|
|
|
|
+ 'data' => [],
|
|
|
|
+ 'message' => 'token无效,请重新登录',
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }catch (\Exception $e){
|
|
|
|
+ var_dump("错误消息1:",$e->getMessage(),$e->getCode());
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ [
|
|
|
|
+ 'code' => $e->getCode(),
|
|
|
|
+ 'data' => [],
|
|
|
|
+ 'message' => $e->getMessage(),
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+}
|