[PHP] 自定义 laravel/passport 的误区讲解

2021-04-26 08:27

阅读:623

标签:cep   client   sed   play   ref   boot   模型   部分   mem   

 

Passport 的 Client 模型对应用户是默认的 User 模型、使用的 guards 是 api。

 

    /**
     * Get the user that the client belongs to.
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function user()
    {
        return $this->belongsTo(
            config(‘auth.providers.‘.config(‘auth.guards.api.provider‘).‘.model‘)
        );
    }

 

Passport 如果要替换 Users,需要修改 config/auth.php 中 guards.api.provider 的值,并且增加新的 auth.providers。

 

Passport 如果打算新增 guards 来替换默认使用的 api,需要覆写 Client 模型的上面代码部分、并在 AuthServiceProvider 中启用新模型。 

https://laravel.com/docs/6.x/passport#overriding-default-models

 

config/auth.php example:

// Used by laravel/passport Client, see app/Client.php
‘oauth‘ => [
    ‘driver‘ => ‘passport‘,
    ‘provider‘ => ‘members‘,
    ‘hash‘ => false,
],

 

 app/Providers/AuthServiceProvider.php example:

public function boot()
{
    $this->registerPolicies();

    Passport::routes();

    Passport::useTokenModel(Token::class);
    Passport::useClientModel(Client::class);
    Passport::useAuthCodeModel(AuthCode::class);
    Passport::usePersonalAccessClientModel(PersonalAccessClient::class);
}

 

[PHP] 浅谈 Laravel Authentication 的 auth:api

[PHP] 浅谈 Laravel Authentication 的 guards 与 providers

Link:https://www.cnblogs.com/farwish/p/12222377.html

[PHP] 自定义 laravel/passport 的误区讲解

标签:cep   client   sed   play   ref   boot   模型   部分   mem   

原文地址:https://www.cnblogs.com/farwish/p/12222377.html


评论


亲,登录后才可以留言!