Laravel Auth-User API架构问题



我遇到了一个"良好实践问题;当试图为经过身份验证的用户编写API时。

所以,如果我没有编写SPA,那么我需要一个API来发出axios(例如(请求,以获取经过身份验证的用户数据。我有点被卡住了。

如果我将所有用户数据路由放在web.php中,那么我的控制器将被迫返回JSON供Vue解析数据,这对于web.php路由来说并不是一个好的做法。

如果我将所有用户数据路由都放在api.php中,那么从它的控制器返回JSON是一种很好的做法,但我不能简单地使用auth()->user()来获得经过身份验证的用户,因为api.php不使用经过身份验证用户会话。所以我不得不为每个api请求放一个该死的圣地令牌,这有点:

  1. 烦人
  2. 使用vue呈现整页时不可能
  3. 可能被认为是不良做法
  4. 可以通过简单地将所有路由放到web.php来避免

那么,你对把这种路线放在哪里有什么看法?

如果您要发出的请求来自基于会话的已验证用户(您使用常规laravel会话对用户进行验证(,则使用web.php文件。如果它来自基于API的经过身份验证的用户(您使用API令牌对用户进行身份验证(,则使用api.php文件。

无论要返回的数据是JSON数据还是刀片视图,如果您使用的是常规的基于会话的身份验证,只需使用web.php文件即可。

我假设您不是在编写API,并且您希望从基于会话的已验证用户获取用户数据。在这种情况下,您肯定应该使用web.php文件,这是一个不错的做法。

最新更新