首页 > 解决方案 > 在 Laravel 中正确访问 API

问题描述

我有一个使用 Laravel 6 的简单项目,其中我从 Blade 视图中 AJAX 加载数据。所以我可以:

$.ajax({url: "api/users", success: (result) => { ...

这个例子涉及两条路线:

Route::middleware('auth:api')->get('api/users', 'Api\ApiUsersController@index');
Route::middleware('auth:web')->get('users', 'UsersController@users');

我想了解如何从users页面正确获取 API 数据。

  1. 如果我手动这样做,$.ajax({url: "api/users?api_token={{Auth::user()->api_token}}"那么这个令牌很容易被盗,并且可以绕过身份验证。
  2. 如果我在 中更改我的 API 中间件auth:web,那么没有人可以使用真正的应用程序 API 令牌访问 API。

我想最好的方法是将默认的用户 API 令牌保存在会话中,如果它存在于 api 保护中,则获取它。

进行的正确方法是什么?

标签: phplaravelapiauthentication

解决方案


推荐阅读