با سلام
بنده دارم در پروژه ای از jwt استفاده میکنم. سوال من اینجاست که میخوام به جای لاگین با ایمیل و پسورد کاربر شماره تلفن خودش و پسوردشو وارد کنه.
با یکی از دوستان لاراول کارم صحبت کردم گفتن که کل بحث authentication رو به صورت دستی بنویسم و از پروژه های آماده استفاده نکنم.
ولی متاسفانه زمان کافی برای اینکار ندارم.
اگه لطف کنید راهنمایی کنید که نیازی به اینکار نباشه ممنون میشم.
قصد دارم طی آپدیت بعدی یوزر که شماره تلفنشو وارد کرد با کد تاییدی لاگین کنه.
سلام
این موضوع با یک تغییر داخل فایل LoginController انجام میشه، فقط یک متد داخل LoginController ایجاد کنید به نام username و نام اون فیلدی که میخواید به عنوان یوزرنیم استفاده بشه رو برگردونید.
این لینک هم میتونه بهتون کمک کنه.
حل شد.
ممکنه بعضی از دوستان همچین مشکلی داشته باشن و بعد از تست کردن متوجه شدم که مشکل از ورژن پکیج tymon/jwt-auth هست. شما باید حتما ورژن ۱.۰ رو نصب کنید:
composer require tymon/jwt-auth:^1.0
تا بتونید به راحتی ورودی تابع attemp رو تغییر بدید.
به این صورت:
$credentials = [ 'username' => $request->username, 'password' => $request->password];
if (! $token = Auth::guard('api')->attempt($credentials)) {
return response()->json(['error' => 'Unauthorized'], 401);
}
به جای username میتونید هر فیلدی که دوست دارید بذارید.