【问题标题】:Laravel Passport change User ModelLaravel Passport 更改用户模型
【发布时间】:2021-01-13 23:37:54
【问题描述】:

我正在使用 Laravel Passport 5.7。 我想使用自己的模型来验证用户。 当我将自定义用户更改为我的租户时,它总是说“未授权”。

auth.php


'guards' => [
        ...
        'api' => [
            'driver' => 'passport',
            'provider' => 'tenants',
        ],
        ...
    ],

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

        'tenants' => [
            'driver' => 'eloquent',
            'model' => App\Models\Tenancy::class,
        ],

    ],

登录控制器

if(!auth('api')->check($credentials)){
             return 'unarhorized';
         }

        return auth()->user()->createToken('authToken')->accessToken;

当我尝试时

if(!auth('api')->attempt($credentials))

我明白了

BadMethodCallException: Method Illuminate\Auth\RequestGuard::attempt does not exist.

哪里有问题?

【问题讨论】:

    标签: laravel api oauth-2.0 laravel-passport


    【解决方案1】:

    如果你选择'driver' => 'passport',

    那么你不能attempt()

    所以你需要

    使用

    if(!auth()->attempt($credentials))
        return  auth()->user()->createToken('authToken')->accessToken;
    

    然后通过apimiddleare 保护

    然后你可以检查

    f(!auth('api')->check($credentials)){
        return 'unarhorized';
    }
    
    

    【讨论】:

      猜你喜欢
      • 2019-12-18
      • 1970-01-01
      • 2013-10-15
      • 2017-05-03
      • 2017-12-15
      • 2020-10-19
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多