我有一个网站,提供两个不同网站的API。
示例: Businessman.mywebsite.com(商家) mywebsite.com(普通用户)
我的用户模型: 我为不同类型的用户使用了polymorph,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');
});
});
我想为商人和普通用户共享相同的auth函数,以进行API调用,有什么办法吗?
例如,他们都需要在同一路径中进行身份验证:
mywebsite.com/api/v1/login,但在登录并获得令牌后会直接转到各自的站点。
我是否需要指定或创建自定义列以标识oauth中的用户类型?
**我正在使用Laravel Passport btw,所有3个站点都位于不同的存储库中。