AdminAuthMiddleware.php 959 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Models\User;
  4. use App\Modules\Admin\Services\AuthService;
  5. use Closure;
  6. use Illuminate\Auth\AuthenticationException;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Auth;
  9. class AdminAuthMiddleware
  10. {
  11. /**
  12. * Handle an incoming request.
  13. *
  14. * @param \Illuminate\Http\Request $request
  15. * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
  16. * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
  17. */
  18. public function handle(Request $request, Closure $next)
  19. {
  20. $token = $request->header('Authorization');
  21. if (empty($token)) {
  22. throw new AuthenticationException("need authorization");
  23. }
  24. $uid = app(AuthService::class)->decryptToken(substr($token, 7));
  25. $u = User::findOrFail($uid);
  26. Auth::login($u);
  27. return $next($request);
  28. }
  29. }