با سلام
من میخوام از پاسپورت برای جداول مختلف استفاده کنم الان اومدم هر کجا که user_id بود رو تبدیل کردم به tokenable_id و فیلد جدید هم اضافه کردم تحت عنوان tekenable_type حالا دیگ چیکار کنم که بتونم برای جداول مختلف استفاده کنم و هم از میدلویر auth.api استفاده کرد
@ali.bayat @hesammousavi @davoodkhany @juza66 @Alimotreb @milad @milad @endworld @khanzadimahdi @rezajashnsaz0011
سلام. هدفتون از این کار رو توضیح میدین ؟
دقیقابگین میخواین چی پیاده سازی کنین ؟
اگه میخواین multiauth پیاده سازی کنین که با چند جدول مختلف بتونین لاگین کنین میتونین از پکیج passport-multiauth استفاده کنین.مستندات تقریبا کاملی داره و من ازش استفاده کردم قبلا.
اگر هم میخواین با استفاده از یک پارامتر دیگه پاسپورت کار کنه و وابسته به user_id نباشین . میتونین خیلی ساده در مدل یوزرتوناطلاعات دلخواهی که دارین رو به پاسپورت بدین تا کارخودشو انجام بده.
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
public function findForPassport($username) {
return $this->where('id', $username)->first();
}
}
@endworld @miladk313 @hesammousavi @ali.bayat @davoodkhany @Alimotreb @juza66 @rezajashnsaz0011
@miladk313
سلام ببینید من چند نوع کاربر دارم که هر کدوم جدولی کاملا مجزا داره بعد میخوام برای این چند نوع کاربر سشن های فعال هم پیاده کنیم
من اومدم اول جداول خود پاسپورت رو دستکاری کردم مثلا اومدم فیلد device رو اضافه کردن چون هر توکنی ساخته شد نوع دیوایس هم مشخص بشه بعدش اومدم ی فیلد تحت عنوان tokenable_id اضافه کردم که یک رابطه چند ریختگی بسازم تا نیازی نباشه برای هر جدول برای ذخیره توکن ها ی جدول مجزا بزنم ی فیلد هم ساختم که اسم مدل رو ذخیره کنه اما از این جا به بعد نمیدونم دقیقا باید چیکار کنم
ممنون میشم راهنمایی کنید ی هفته ای میشه درگیر این قضیه ام اما متاسفانه به جواب درستی نرسیدم
با تشکر
سلام . این کاری که شما میگین دقیقا پیاده سازی multiauth یا احراز هویت چندگانه اس... ببین دفعه قبل هم گفتم بهت از پکیج زیر استفادع کن :
https://github.com/sfelix-martins/passport-multiauth
همه این امکاناتی که میخوای رو بهت میده
مثلا با این کد میتونی نوع دیوایس رو هم مشخص کنی
$user = User::find(1);
$admin = Admin::find(1);
// Create token from Model instance.
$user->createToken('user Device');
$admin->createToken('admin Device');
اون دغدغه ی ساخت جدول و روابطش رو هم برات حل میکنه .
اگه از گیت استفاده میکنی، بنظرم یه برنچ جدید بساز و برگرد به اون کامیتی که تازه پاسپورت رو نصب کردی بعد برو تو لینک بالا و مراحل نصب پکیج رو طی کن . نیازی نیست خودت وقت بزاری و پاسپورت رو از اول شخصی سازی کنی.
اگه خیلی وقته درگیرشی امتحان کردن این پکیج ضرری نداره
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟