Bu fonksiyonla eğer beni hatırla kutucuğu işaretliyse cookie oluşturuyor . Veritabanına remember_me sütununu güncelliyor.
config/session.php
'expire_on_close' => true, olarak ayarladım .
Fakat anlamadığım nokta şu ; kullanıcı siteyi tekrar ziyaret ettiğinde hangi fonksiyon çalışacak ve otomatik login olacak . herhangi bir __constructor vs. tanımlamıyoruz. Nedir bunun mantığı ?
public function userAuthCheck(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
'g-recaptcha-response' => function ($attribute, $value, $fail) {
$secretKey = config('services.googlerecaptcha.secret');
$response = $value;
$userIP = $_SERVER['REMOTE_ADDR'];
$url = "https://www.google.com/recaptcha/api/siteverify?secret=" . $secretKey . "&response=" . $response . "&remoteip=" . $userIP;
$response = file_get_contents($url);
$response = json_decode($response);
if (!$response->success) {
$fail($attribute . ' is not a valid captcha');
return redirect()->back()->with('fail', 'Please check the captcha');
}
},
]);
$checkUser = UserAuth::where('email', $request->email)->first();
//dökümanda bu şekilde göstermiş aynısını yapıyorum.
**if (Auth::attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
// The user is being remembered...
}**
if (!$checkUser) {
return redirect()->back()->with('fail', 'Email or Password is incorrect');
} else {
if (Hash::check($request->password, $checkUser->password)) {
$request->session()->put('userLogin', $checkUser->fullName);
return redirect('/');
} else {
return redirect()->back()->with('fail', 'Email or Password is incorrect');
}
}
}