Laravel 5.6 API аутентификации многопользовательского типа - PullRequest
0 голосов
/ 31 августа 2018

У меня есть сайт, предоставляющий API для двух разных сайтов.

Пример: merchant.mywebsite.com (продавец) mywebsite.com (обычные пользователи)

Моя модель пользователя: Я использую полиморф для разных типов пользователей, userable_id определяет тип пользователей, будет иметь пользователей Admin, Merchant и Normal, у всех есть доступ к 3 различным сайтам.

class User extends Authenticatable implements Auditable
{
   public function userable()
   {
      return $this->morphTo();
   }
}

API-маршрут:

Route::namespace('Api\V1')->prefix('v1')->group(function () {   

    Route::post('login', 'LoginController@login');
    Route::post('signup', 'LoginController@signup');



    Route::group(['middleware' => 'auth:api'], function() {
        Route::get('user', 'LoginController@user');
        Route::get('logout', 'LoginController@logout');        
    });
});

Я хотел бы поделиться одинаковыми функциями аутентификации для вызова API для Торговых и Обычных пользователей, есть ли способ сделать это?

Например, всем им нужно будет авторизоваться по одному и тому же маршруту:

mywebsite.com / api / v1 / login, но перенаправляется на соответствующие сайты после входа в систему и токена.

Нужно ли указывать или создавать пользовательский столбец для определения типа пользователя в oauth?

** Кстати, я использую Laravel Passport, и все 3 сайта находятся в разных репозиториях.

...