Merhaba,
Laravel projemin api driver'ını token'den passport yapısına taşıdım. LoginController'a email ve şifre ile giriş yapan kullanıcılara token vermek için bir kod bloğu ekledim. Panel'e giriş yaparken "CSRF token mismatch" hatası alıyorum.
Fakat eklediğim kodu kaldırınca çalışıyor sebebini anlamadım. Yardımcı olursanız sevinirim.
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use App\User;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function login (\Illuminate\Http\Request $request) {
$validator = Validator::make($request->all(), [
'email' => 'required|string|email|max:255',
'password' => 'required|string|min:6',
]);
if ($validator->fails())
{
return response(['errors'=>$validator->errors()->all()], 422);
}
$email=Str::lower($request->email);
$user = User::where('email', $email)->first();
if ($user) {
if (Hash::check($request->password, $user->password)) {
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
return response()->json([
'message' => 'Kullanıcı girişi başarılı.',
'token' => $token
], 200);
} else {
$response = ["message" => "Parola yanlış"];
return response($response, 422);
}
} else {
$response = ["message" =>'Kullanıcı bulunamadı'];
return response($response, 422);
}
}
}
{
"message": "Kullanıcı girişi başarılı.",
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjQwZTQ2NTZmZDMyZTU0MjMyNDVhYWMyNDk1MTY2NDgwYTI1M2IwZDcxZTg4ZDg2ZWQzNzc0YTk3Yzk3ZTMyMmY3MjgzMTk4NTczNWU4OWVjIn0.eyJhdWQiOiIxIiwianRpIjoiNDBlNDY1NmZkMzJlNTQyMzI0NWFhYzI0OTUxNjY0ODBhMjUzYjBkNzFlODhkODZlZDM3NzRhOTdjOTdlMzIyZjcyODMxOTg1NzM1ZTg5ZWMiLCJpYXQiOjE2MTQwMDI3MjIsIm5iZiI6MTYxNDAwMjcyMiwiZXhwIjoxNjQ1NTM4NzIyLCJzdWIiOiI0MCIsInNjb3BlcyI6W119.R6riqdKKXnR9rxwdQnR2ZiiwkexkmV5BnaawyBlSLk2PZOY78pE8KthKGfU9asZK_XLlCeqpYhl"
}