如何使用令牌保护来创建 API?我试过它来实现它,但我收到了错误
call_user_func_array() 期望参数 1 是一个有效的回调,类 'Illuminate\Auth\TokenGuard' 没有方法 'attempt'
如何使用令牌保护来创建 API?我试过它来实现它,但我收到了错误
call_user_func_array() 期望参数 1 是一个有效的回调,类 'Illuminate\Auth\TokenGuard' 没有方法 'attempt'
深入研究 laravel 的源码后,发现令牌守卫暂时没用。所有 auth 都传递给 auth 中间件,从那里,您可以看到它调用Auth::guard($name)->guest()
来检查用户是否登录。这\Auth::guard
将获得您在路由中指定的正确保护。假设这里是 TokenGuard。在 \Illuminate\Auth\TokenGuard 中,检查user
函数以查看如何TokenGuard
获取用户。首先,它将获取名为 的输入参数api_token
。然后它将让可能雄辩的提供者作为默认配置在数据库中搜索一个值。如果找到任何值,则会创建一个新的用户实例。如果没有名为 的输入值api_token
,则将尝试其他一些选择:
在模型中匹配哪个键由受保护的属性指定storageKey
。
所以令牌守卫是用来实现第三方API访问令牌的,而不是存储在会话中的临时访问令牌。