Я пытаюсь создать аутентификацию, используя Laravel Passport, я настроил все правильно, как указано в официальной документации.Метод GET Route работает отлично (см. Код ниже), но когда я пробую метод POST Route, я всегда получаю эту ошибку:
Метод POST не поддерживается для этого маршрута.Поддерживаемые методы: GET, HEAD.
PS: я использую Почтальон для теста.
Я пытался включить токен CSRF, но ничего не происходит, и я получаю ту же ошибку.
Контроллер
class AuthController extends Controller
{
public function register(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
if ($validator->fails()) {
return response(['errors' => $validator->errors()->all()], 422);
}
$request['password'] = Hash::make($request['password']);
$user = User::create($request->toArray());
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response = ['token' => $token];
return response($response, 200);
}
public function login(Request $request)
{
$user = User::where('email', $request->email)->first();
if ($user) {
if (Hash::check($request->password, $user->password)) {
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response = ['token' => $token];
return response($response, 200);
} else {
$response = "Password missmatch";
return response($response, 422);
}
} else {
$response = 'User does not exist';
return response($response, 422);
}
}
public function logout(Request $request)
{
$token = $request->user()->token();
$token->revoke();
$response = 'You have been succesfully logged out!';
return response($response, 200);
}
}
Маршруты
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/login', 'Api\AuthController@login')->name('login.api');
Route::post('/register', 'Api\AuthController@register')->name('register.api');
Я ожидаю регистрации пользователя, и он возвращает токен аутентификации, но он показывает мне «Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD.»