【发布时间】:2017-10-12 14:24:42
【问题描述】:
我有一个 react 应用程序,可以从在 routes/api.php 中定义的 laravel api 获取数据:
// this is default route provided by laravel out of the box
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
// ItemController provides an index methods that list items with json
Route::resource('items', 'Api\ItemController', array('except' => array('create','edit')));
// this is to store new users
Route::resource('users', 'Api\UserController', array('only' => array('store')));
例如http://example.com/api/items 按预期返回数据,但它确实不安全,因为任何人都可以通过邮递员访问它。
如何使这些路线只能在应用内访问?
由于我是新手,我不明白是否需要设置 api_token 以及如何设置?
我需要设置 Passport 吗?
是否与 auth:api 中间件有关?
这听起来很基础,但我们将不胜感激任何帮助或教程建议
编辑
以经典会话身份验证结束。在 web.php 中移动了路由。在 ajax 请求中传递 csrf 令牌。实际上我不需要 RESTful API。当您的 API 是无状态的时,您只需要令牌身份验证。
【问题讨论】:
-
使用 laravel 护照并创建一个客户端,然后在每个请求的标头中使用 Bearer $token,护照中间件将处理它以进行保护
-
谢谢,但是您如何从您的个人客户端检索令牌?
-
@msonowal 这是最好的方法。你能添加一个答案如何做到这一点
标签: laravel