سلام من میخواد ورود دو مرحله ای رو فعال کنم همه چی اوکیه فقط میخوام توی کنترلر لاگ این به جای نوشتن کد درون متد به شکل زیر
protected function authenticated(Request $request, $user)
{
if($user->hasTwoFactorAuthenticatedEnabled()) {
auth()->logout();
$request->session()->flash('auth' , [
'user_id' => $user->id,
'using_sms' => false,
'remember' => $request->has('remember')
]);
if($user->two_factor_type == 'sms') {
$code = ActiveCode::generateCode($user);
// Todo Send Sms
$request->session()->push('auth.using_sms' , true);
}
return redirect(route('2fa.token'));
}
return false;
}
بیام کد رو انتقال بدم به یک trait دیگر که تعریف کردم به اسم TwoFactorAuthenticated در پوشه Auth کنترلر ها پس اومدم اون صفحه رو به شکل زیر ساختم
<?php
namespace App\Http\Controllers\Auth;
use App\Models\ActiveCode;
use Illuminate\Http\Request;
trait TwoFactorAuthenticate
{
public function loggedin(Request $request , $user)
{
if($user->hasTwoFactorAuthenticatedEnabled()) {
auth()->logout();
$request->session()->flash('auth' , [
'user_id' => $user->id,
'using_sms' => false,
'remember' => $request->has('remember')
]);
if($user->two_factor_type == 'sms') {
$code = ActiveCode::generateCode($user);
// Todo Send Sms
$request->session()->push('auth.using_sms' , true);
}
return redirect(route('2fa.token'));
}
return false;
}
}
و در متد authenticated در کنترلر لاگ این گفتم ...
protected function authenticated(Request $request, $user)
{
return $this->loggedin($request , $user);
}
ولی در هنگام اجرا ارور میده که این متد loggedin که درکنترلر لاگ این تعریف کردی اصلا وجود نداره نمیدونم کجا رو اشتباه کردم ممنون میشم کمک کنید دوستان
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟