首页 > 解决方案 > 为什么 laravel 在每个请求上创建令牌?

问题描述

我有以下使用 Laravel Passport 的代码:

if(Auth::attempt($input, true)) {
    return \Auth::user()->createToken(Auth::user()->name, []);
}

因此,当用户每次登录时,Laravel 都会一遍又一遍地创建令牌。如果这种情况继续发生,那么数据库肯定会过载。也许我还没有理解 API Auth 是如何工作的。

有没有办法阻止 Laravel 这样做,或者这是预期的结果?

标签: phplaravelapiauthenticationtoken

解决方案


与常规 Web 应用程序上下文中的会话不同,会话会保留(登录)状态,(RESTful)API 通常被认为是无状态的。这意味着请求不必依赖于之前发生的请求。请求所需的一切,包括身份验证和授权,都应在每个单独的请求中处理。

有关详细信息,请参阅Cassio Mazzochi Molin对无状态 Restful 应用程序的解释。

亲切的问候,

德拉科


推荐阅读