从 Laravel Passport 的 oauth_access_tokens 表中的现有令牌创建访问令牌

Posted

技术标签:

【中文标题】从 Laravel Passport 的 oauth_access_tokens 表中的现有令牌创建访问令牌【英文标题】:Create Access Token from Existing Token in oauth_access_tokens table in Laravel Passport 【发布时间】:2021-09-05 02:12:29 【问题描述】:

我需要从存储在 Laravel Passport 生成的 oauth_access_tokens 表中的令牌中获取当前活动的(不是创建新的)令牌。

我已经尝试过从 GitHub 获得的以下代码: See Code

我得到了令牌,但我总是从我从该代码获得的令牌中得到 401 Unauthenticated,也许代码错过了一些配置?

【问题讨论】:

【参考方案1】:

你可以使用

$currentActive Token = Auth::user()->token()

Laravel\Passport\HasApiTokens你可以看到这段代码

    /**
     * Get all of the access tokens for the user.
     *
     * @return \Illuminate\Database\Eloquent\Relations\HasMany
     */
    public function tokens()
    
        return $this->hasMany(Passport::tokenModel(), 'user_id')->orderBy('created_at', 'desc');
    

获取所有可以使用的令牌

 Auth::user()->tokens;

【讨论】:

谢谢,但我也需要其他用户令牌,而不仅仅是请求的人

以上是关于从 Laravel Passport 的 oauth_access_tokens 表中的现有令牌创建访问令牌的主要内容,如果未能解决你的问题,请参考以下文章

Laravel API 身份验证(Passport),从 post application/json 获取用户 ID

如何从 Laravel Passport 中的刷新令牌中获取 id?

使用 Nuxt 前端实现 Laravel 7 Passport 身份验证

Laravel Passport 没有身份验证

Laravel Passport API 注册新用户

使用 Passport 进行 Laravel API 身份验证导致 401(未经授权)