【发布时间】:2021-09-08 00:57:33
【问题描述】:
我正在开发 Laravel 5.8 和 php 7.1.3。在控制器函数中使用 csrf_token() 返回值,但在控制器/api 控制器中不返回任何值。如何在api控制器函数中使用csrf_token。
Api 控制器:- Http/Controllers/Api/TestConroller.php
class TestConroller extends Controller
{
public function __construct()
{
}
public function getToken(Request $request){
echo csrf_token();
}
}
路由:- routes/api.php
Route::get('getToken', 'Api\TestConroller@getToken');
网址:-
http://localhost/laravel/api/getToken
如果 csrf token() 在 api 控制器中不起作用,那么如何在 api 中使用令牌进行验证。
【问题讨论】:
-
在你的 GET 方法中,你的参数有名字吗?然后
$request->name如果你不知道参数的名字,那么你可以用dd($request->all());得到它 -
我的意思是你应该在 Laravel 控制器中使用
return而不是echo,比如return response()->json(['csrf_token' => csrf_token()]);,但是Api 通常不使用csrf_tokens,所以我不确定你是什么真的很想在这里完成。
标签: laravel api laravel-5.8 csrf-token laravel-api