gpt4 book ai didi

Laravel 5.2 TokenGuard 实现

转载 作者:行者123 更新时间:2023-12-04 18:22:01 25 4
gpt4 key购买 nike

如何使用token guard来创建API?我试过它来实现它,但出现错误

call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Auth\TokenGuard' does not have a method 'attempt'

最佳答案

深入laravel源码后,发现token guard暂时没用。所有的 auth 都传递给 auth 中间件,从那里,你可以看到它调用了 Auth::guard($name)->guest() 来检查用户是否登录。 \Auth::guard 将获得您在 route 指定的适当守卫。假设这里是 TokenGuard。在\Illuminate\Auth\TokenGuard 中,检查 user 函数以查看 TokenGuard 如何获取用户。首先,它将获取名为 api_token 的输入参数。然后它会让可能作为默认配置的提供者在数据库中搜索一个值。如果找到任何值,则会创建一个新的用户实例。如果没有名为 api_token 的输入值,则会尝试其他一些选择:

  1. bearerToken,以:bearer 开头的 Authorization HTTP header 值。
  2. 密码,通过 HTTP header 传递:PHP_AUTH_PW。

模型中要匹配的键由 protected 属性 storageKey 指定。

因此 token 守卫用于实现第三方API访问 token ,而不是存储在 session 中的临时访问 token 。

关于Laravel 5.2 TokenGuard 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34450971/

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