I am trying to get a response in https://api.oussama-dev.online/api/login and I have the error
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
The GET method is not supported for route api/login. Supported methods: POST.
The login method works fine on localhost, but when i deployed it doesn't work.
Your environment
Q
A
Bug?
yes
Framework
Laravel
AuthController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\SignupRequest;
use App\Http\Requests\LoginRequest;
use App\Models\User;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Http;
class AuthController extends Controller
{
public function signup(SignupRequest $request){
//get all the request validated data
$data=$request->validated();
$response = Http::asForm()->post('https://www.google.com/recaptcha/api/siteverify', [
'secret' => env("RECAPTCHA_SECRET_KEY"),
'response' => $request->input('recaptcha_response'),
'remoteip' => $request->ip(),
]);
if( $response['success'] == true ){
$user=User::create([
'name'=>$data['name'],
'email'=>$data['email'],
'password'=>bcrypt($data['password']),
]);
//when a token is created we take the text of it
$token=$user->createToken('main')->plainTextToken;
return response([
'user'=>$user,
'token'=>$token
]);}
}
public function login(LoginRequest $request){
$credentials=$request->validated();
$remember = $credentials['remember'] ?? false;
unset($credentials['remember']);
if (!Auth::attempt($credentials, $remember)) {
return response([
'error' => 'mot de passe incorrect'
], 422);
}
$user = Auth::user();
$token = $user->createToken('main')->plainTextToken;
return response([
'user' => $user,
'token' => $token,
'user_type' => $user->usertype,
]);
}
public function logout(Request $request){
/** @var User $user */
$user = Auth::user();
// Revoke the token that was used to authenticate the current request...
$user->currentAccessToken()->delete();
return response([
'success' => true
]);
}
}
Subject of the issue
I am trying to get a response in https://api.oussama-dev.online/api/login and I have the error Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException The GET method is not supported for route api/login. Supported methods: POST.
The login method works fine on localhost, but when i deployed it doesn't work.
Your environment
AuthController.php
in route api.php
Route::post('/login',[AuthController::class,'login']);