دریافت آی دی کاربر قبل از لاگین -لاراول
سلام و درود خدمت اساتید گرامی
بنده از پکیج smstrez برای لاگین در لاراول استفاده کردم مشکل اینه که نمیتونم ای دی کاربر رو قبل از ورود بگیرم چون متد خود لاراولauth attempt برای پیش فرض ها تعریف شده برابر تصویر زیر اعتبار سنجی به درستی انجام میشه و مرحله برسی کد پیامکی ردمیشیم اما حین انتقال به پنل کاربری سیشن ها رو نمیتونم ست کنم ساده ترین راه اینه که ای دی کاربر رو بدم به کلاس لاگین اما خیلی تلاش کردم نتیجه نداده تاکنون
ممنون از همه اساتید
public function loginWithOtp(Request $request)
{
//$credentials = $request->except(['_token']);
$validator= $request->validate([
'passcode' => ['required', 'numeric','min:8'],
],
[
'passcode.required'=>' کد پیامکی وارد نشده است ',
'passcode.numeric'=>' فقط اعداد مجاز هستند ',
]);
// $user = auth()->user();
$user = $request->user();
$phone = \request()->phone;
$result = RayganSms::checkAuthCode(\session('phone'),$request->passcode);
if ($result) {
$request->session()->regenerate();
Auth::loginUsingId($user->id);----->اینجا ای دی کاربر شناسایی نمیشه
return redirect(url('/blog'));
}else{
Session::flash('message','کد وارد شده صحیح نیست');
//return redirect()->refresh()->with('message',' کد وارد شده صحیح نمی باشد !');
return Redirect::back()->with('message',' کد وارد شده صحیح نمی باشد !');
}
}
1 پاسخ
بالاخره بعد از چند روز فهمیدم
لاراول که سیستم احراز هویت خاص خودش رو داره برای سفارشی سازی ورود مانند ورود با موبایل و یا لاگین بدون پکیج های نصبی لازم یه توکن مدل ایجاد کنیم اون توکت زمانیکه ایجاد میشه توی همون مدل اطلاعات کاربر رو قبل از لاگین میگیره و همون رو تو تابعی که قبل از لاگین وضعیت کاربر رو چک میکرد پاس دادم و مشکل حل شد ممنون از همه اساتید