У меня все еще возникает проблема, заключающаяся в том, что всякий раз, когда я вхожу в систему, я получаю свой токен jwt, но всякий раз, когда я пытаюсь использовать этот токен для выполнения других запросов по другому маршруту, которые связаны с промежуточным программным обеспечением auth: api, он продолжает возвращать unauthenticated
. следовательно, я не могу обращаться с просьбой.
кто-нибудь может помочь
Маршрут выглядит как
Route::prefix('auth')->group(function () {
Route::post('login', [LoginController::class, 'login'])->name('login');
Route::post('refresh', [LoginController::class, 'handleRefreshToken'])->name('refresh');
Route::post('me', [LoginController::class, 'userDetails'])->name("user_details");
});
почему мой контроллер выглядит как
<?PHP
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Http\Requests\Auth\LoginController\LoginValidator;
use App\Traits\SendsApiResponse;
use Illuminate\Http\Response;
class LoginController extends Controller
{
use SendsApiResponse;
/**
* Create a new AuthController instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:api', ['except' => ['login', 'refresh']]);
}
/**
* Handles User Login
* @param LoginValidator $request
* @return \Illuminate\Http\JsonResponse|mixed
*/
public function login(LoginValidator $request)
{
try {
$login_cred = $request->validated();
$token = auth()->attempt($login_cred);
if (!$token) {
return $this->failureResponse("Incorrect UserName and/or Password", Response::HTTP_UNAUTHORIZED);
}
return $this->successResponse($this->returnToken($token));
} catch (\Exception $e) {
return $this->failureResponse($e->getMessage(), $e->getCode());
}
}
public function returnToken($token)
{
return [
"token" => $token
];
}
/**
* Handle The Refreshing Of Users Token
* @return \Illuminate\Http\JsonResponse|mixed
*/
public function handleRefreshToken()
{
try {
return $this->successResponse($this->returnToken(auth()->refresh($forceForever = true)));
} catch (\Exception $e) {
return $this->failureResponse($e->getMessage(), 440);
}
}
public function userDetails()
{
return $this->successResponse(auth()->user());
}
}
из всех вышеперечисленных методов работает только вход в систему, остальные - нет.