kphcdr 1 year ago
parent
commit
5292d73808
1 changed files with 33 additions and 0 deletions
  1. 33 0
      app/Http/Middleware/AdminAuthMiddleware.php

+ 33 - 0
app/Http/Middleware/AdminAuthMiddleware.php

@@ -0,0 +1,33 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use App\Models\User;
+use App\Modules\Admin\Services\AuthService;
+use Closure;
+use Illuminate\Auth\AuthenticationException;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
+
+class AdminAuthMiddleware
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param \Illuminate\Http\Request $request
+     * @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
+     * @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
+     */
+    public function handle(Request $request, Closure $next)
+    {
+        $token = $request->header('Authorization');
+        if (empty($token)) {
+            throw new AuthenticationException("need authorization");
+        }
+        $uid = app(AuthService::class)->decryptToken(substr($token, 7));
+
+        $u = User::findOrFail($uid);
+        Auth::login($u);
+        return $next($request);
+    }
+}