|
@@ -9,7 +9,10 @@ use App\Http\Requests\API\User\ResetPasswordRequest;
|
|
|
use App\Mail\ForgetPasswordMailable;
|
|
|
use App\Models\User;
|
|
|
use Carbon\Carbon;
|
|
|
+
|
|
|
+use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
+use Illuminate\Support\Facades\Cache;
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
use Illuminate\Support\Facades\Mail;
|
|
@@ -36,17 +39,35 @@ class AuthController extends Controller
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
+ // 创建token
|
|
|
+ $token = $user->createToken('user')->plainTextToken;
|
|
|
+ //用户信息放入缓存
|
|
|
+ $cacheKey = 'auth_token'.$token;
|
|
|
+ Cache::put($cacheKey, [
|
|
|
+ 'user_id' => $user->id,
|
|
|
+ 'username' => $user->username,
|
|
|
+ 'email' => $user->email,
|
|
|
+ 'phone' => $user->phone,
|
|
|
+ 'token' => $token,
|
|
|
+ ], now()->addHours(2));
|
|
|
+
|
|
|
return $this->success([
|
|
|
'data' => [
|
|
|
- 'token' => $user->createToken('user')->plainTextToken,
|
|
|
+ 'token' => $token,
|
|
|
]
|
|
|
]);
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function logout()
|
|
|
+ public function logout(Request $request)
|
|
|
{
|
|
|
+ //删除缓存token
|
|
|
Auth::user()->currentAccessToken()->delete();
|
|
|
+ $token = $request->headers->get('Authorization');
|
|
|
+ // 去除Bearer前缀(如果有的话)
|
|
|
+ $token = Str::startsWith($token, 'Bearer ') ? Str::substr($token, 7) : $token;
|
|
|
+
|
|
|
+ Cache::delete('auth_token' . $token);
|
|
|
|
|
|
return $this->noContent();
|
|
|
}
|