Laravel Passport API:检索经过身份验证的令牌

时间:2017-10-10 18:36:19

标签: php laravel api token laravel-passport

情况

我使用Laravel Passport API在Laravel和外部"代理商之间进行通信。通过个人访问令牌:https://laravel.com/docs/5.5/passport#personal-access-tokens

您可以为每个用户创建多个令牌。

身份验证有效,我可以通过Auth::User()

检索用户

问题

如何查看使用了哪个令牌?

背景

我想为不同的代理商使用不同的代币"对于同一个用户,我需要知道使用哪个令牌来查看谁在连接。

1 个答案:

答案 0 :(得分:7)

您可以使用:

Auth::user()->token()

获取令牌模型的功能。这是类#34的对象; Token扩展了Model"所以你应该像任何其他模型一样使用它。

另外在我的项目中我也有这个模型:

namespace App;

use Illuminate\Database\Eloquent\Model;

class OauthAccessToken extends Model
{
    //
}

和关系:

class User extends Authenticatable
{
    //...
    public function accessTokens()
    {
        return $this->hasMany('App\OauthAccessToken');
    }
}

所以我可以简单地访问所有令牌,例如删除它们:

Auth::user()->accessTokens()->delete();