【问题标题】:Auth::check() for client credential workflow with PassportAuth::check() 用于带有 Passport 的客户端凭据工作流
【发布时间】:2021-07-19 19:47:06
【问题描述】:

我有一个 Laravel 应用程序,其中一些路由受到来自 Laravel Passport 的 'client' 中间件的保护(来自 docs 的示例):

Route::get('/orders', function (Request $request) {
  ...
})->middleware('client');

当我需要在我的代码中明确检查身份验证是否成功时,我通常会这样做:

\Illuminate\Support\Facades\Auth::check();

但是,此函数似乎总是返回 false 以及客户端凭据工作流。我明白,例如Auth::user() 在这种情况下没有意义,但Auth::check() 在这种情况下应该被明确定义。

问题:对于客户端凭据工作流程,Auth::check() 是否有替代方案,还是我遗漏了什么?

【问题讨论】:

    标签: laravel laravel-passport


    【解决方案1】:

    您需要先在标头中传递访问令牌,然后您应该能够像这样检查身份验证:

    Auth::guard('api')->check()
    

    【讨论】:

    • 这也给了我false
    猜你喜欢
    • 2014-11-12
    • 2021-12-22
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 2020-07-07
    • 2017-03-31
    • 2021-12-08
    相关资源
    最近更新 更多