رفتن به مطلب
انجمن پشتیبانی لاراول ایران

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

behi1989

اهراز هویت چندگانه با jwt در لاراول

Recommended Posts

سلام

روز بخیر

من در رابطه با اهراز هویت چندگانه با jwt تو لاراول به مشکل خوردم ممنون میشم راهنمایی کنید

از لاراول ورژن 6 استفاده میکنم و بصورت restfull کدزنی کردم.

در واقع دو جدول برای کاربر و ادمین سایت در نظر گرفتم. برای پیاده سازی jwt به روی ادمین به مشکل میخورم و توکن تولید نمیشه!

اگر کسی راهنمایی کنه ممنون میشم

Share this post


Link to post
Share on other sites

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

دوستان کسی نظری نداره؟

خودم کدی نوشتم و به جواب رسیدم و تو فایل auth.php به اینصورت عمل کردم

'defaults' => [
        // 'guard' => 'web',
        'guard' => 'admins',
        'passwords' => 'users',
    ],

'guards' => [
        'web' => [
            'driver' => 'jwt',
            'provider' => 'users',
        ],

        'admins' => [
            'driver' => 'jwt',
            'provider' => 'admins',
        ],

        'api' => [
            'driver' => 'jwt',
            'provider' => 'admins',
            'hash' => false,
        ],
    ],

'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],

        'admins' => [
            'driver' => 'eloquent',
            'model' => App\Admin::class,
          ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],

و در مدل Admin

namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
// use Illuminate\Database\Eloquent\Model;
use Tymon\JWTAuth\Contracts\JWTSubject;
class Admin extends Authenticatable implements JWTSubject
{
    use Notifiable;
    protected $guard = 'admins';
    protected $fillable = [
        'name',
        'email',
        'password',
        'avatar',
        'lastLogin',
        'description'
    ];
    protected $hidden = [
        'password'
    ];
    public function getJWTIdentifier()
    {
        return $this->getKey();
    }
    
    public function getJWTCustomClaims()
    {
        return [];
    }
}

در واقع الان فقط برای ادمین فیکس شده

آیا این روش درست هست؟

راهی نیست که بشه از هر دو user و admin استفاده کرد؟ همزمان که استفاده کنم خطا میده

Share this post


Link to post
Share on other sites

سلام دوست عزیزم..

منم به یه همچین قضیه ای خیلی نیاز دارم که دوتا احراز هویت جدا یکی برای ادمین و یکی برای کاربرای سایت داشته باشم..

میشه لطفا فرایندشو توضیح بدی که بدونم چجوری میشه از سیستم احراز هویت لارول بصورت چندگانه استفاده کرد؟

ممنونم ❤️

Share this post


Link to post
Share on other sites
در در ۱۳۹۹/۲/۱۷ در 16:06، javadbolouri گفته است :

سلام دوست عزیزم..

منم به یه همچین قضیه ای خیلی نیاز دارم که دوتا احراز هویت جدا یکی برای ادمین و یکی برای کاربرای سایت داشته باشم..

میشه لطفا فرایندشو توضیح بدی که بدونم چجوری میشه از سیستم احراز هویت لارول بصورت چندگانه استفاده کرد؟

ممنونم ❤️

سلام دوست گرامی برای احراز هویت نیازی برای ایجاد جداگانه احراز هویت نیست چنانچه نیازی به این حالت باشد باید شما طبق حالت پیش فرض لاراول مدل MVC را پیاده سازی کنید و blade مورد نظر را بسازید و ادامه ماجرا...

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...