gpt4 book ai didi

Laravel:如何在没有中间件 ('auth:api' 的情况下检查 API 路由的用户身份验证)

转载 作者:行者123 更新时间:2023-12-02 02:35:01 26 4
gpt4 key购买 nike

我如何检查从 Controller 访问方法的当前用户是否经过身份验证,有问题的 API 路由不受任何身份验证中间层的保护,因为公共(public)和两个 guest 用户都可以访问该路由,我检查了我的请求 header ,正在传递 Bearer token ,正在为我的路由使用 react 路由器。 api驱动是passport

公共(public)路线:

Route::get('product/list', 'ProductController@index')

尝试了什么:

  1. 将默认的 AUTH Guard 更改为 api

  2. 尝试在 Controller 方法中显式调用 Auth()->guard('api')->check()

    if (Auth()->guard('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}
  1. 也可以这样称呼 Auth()->check()
    if (Auth()->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}

结果:

总是'unauthenticated'

预期结果:当在 header 中传递 Bearer token 时,is_favourite 的结果,如果没有提供 bearer token ,则为“未验证”。

最佳答案

我终于让它工作了,尝试了这个并且成功了:

if (auth('api')->check()) {
return 'is_favourite';
} else {
return 'unauthenticated';
}

关于Laravel:如何在没有中间件 ('auth:api' 的情况下检查 API 路由的用户身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64447213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com