AuthMini.php 901 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\AdminUserModel;
  4. use App\Models\User;
  5. use Closure;
  6. use Illuminate\Support\Facades\Auth;
  7. class AuthMini
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Illuminate\Http\Request $request
  13. * @param \Closure $next
  14. * @return mixed
  15. */
  16. public function handle($request, Closure $next)
  17. {
  18. if(in_array($request->path(), ['api/mini/login', 'api/mini/reset', 'api/mini/test', 'api/mini/loginByWechat', 'api/mini/uploadFile'])) return $next($request);
  19. $token = $request->header('X-Token');
  20. if($token) {
  21. $user = User::where('token', $token)->first();
  22. if(!empty($user)) {
  23. Auth::guard('mini')->login($user);
  24. return $next($request);
  25. }
  26. }
  27. return response()->json(['code' => -100, 'msg' => '请先登录']);
  28. }
  29. }