Php 通过在中间件组传递身份验证laravel API,以便在Postman进行测试
我想在中间件组上定义的laravel上测试apiPhp 通过在中间件组传递身份验证laravel API,以便在Postman进行测试,php,laravel,postman,Php,Laravel,Postman,我想在中间件组上定义的laravel上测试api Route::group(['middleware' => 'auth:api'], function () { Route::post('/city/rating', 'API\HomeController@post_city_rating'); 如何做到这一点?我使用了一些棘手的方法,从登录的浏览器发送cookies,但它不起作用。在postman API测试->管理cookie时 XSRF-TOKEN=EYJPDII6IK1
Route::group(['middleware' => 'auth:api'], function () {
Route::post('/city/rating', 'API\HomeController@post_city_rating');
如何做到这一点?我使用了一些棘手的方法,从登录的浏览器发送cookies,但它不起作用。在postman API测试->管理cookie时
XSRF-TOKEN=EYJPDII6IK1PTVVZHNAEP4ZGQRVNDOS25GSEVNPT0ILCJ2YWX1ZSIKK2UFRWAWVCMJCL0RoaJUNFKZ2LWWWWWWWWWWWWWWWW0PUQML6VXRSUKDWETDKUTJNZ1LTWGWGDW5RUW2VM2VmZZYYY2NZY3ZY3ZY3ZY3ZY3ZFYYNZY3ZYNZY3ZYNZYM5TYZYZYZYZYZYZYZYZY3ZYZYZYZYZYZYF3ZYZYFY;路径=/;domain=.**.com;Expires=2019年7月11日星期四格林威治标准时间10:20:38
laravel_session=EYJPDii6imvsztnhov4y1zfk2nexc9ln0jyk2dnpt0ilczyzsi6im83chvlzfkwczczjbb2vcelhpbmy0c2tuvdpwmx5wu0xvdbkwjhwrk5yuefxxc9yzg10elbksuljee9wk1jsc9wk9wk9wkyi1hyyyyyyyyzzzgjrjwjwjwjjjjjjjjdczmzmzhznznzhqq5djjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj;
路径=/;domain=safanci.com;HttpOnly;到期日=2019年7月11日星期四
格林尼治标准时间10:25:57
我正在使用postman api测试并尝试使用cookies manager,但仍然不起作用
尝试在标题键和值处添加,但也不起作用
KEY = XSRF-TOKEN
Value = eyJpdiI6Ik1pTVwvVzhNaEp4ZGQrVndoS25GSEVnPT0iLCJ2YWx1ZSI6Ikk2UFRwaVwvcmJcL0RoajNCUnFkZ2ltWWNWcUdyV0puQml6VXRsUkdweTdkUTJnZ1lTWGdWdnlWaEM5RUw2VmxpZyIsIm1hYyI6IjY2NjY5MzEzMzY3MzFhODYyNmQ5MTlkYjI0MDQzOWVlODcxYTgyODcwMmY1NGVkNjAyYzE3YTMzNTVjNDFhMTYifQ%3D%3D
api.php
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
功能上没有什么特别的post\u city\u rating
public function post_city_rating(Request $request){
$location_review = LocationReview::where('user_id','=',Auth::user()->id)->where('location_id','=',$request->location)->first();
if(empty($location_review)){
$location_review = new LocationReview();
$location_review->id = $this->newIDLocationReview();
}
$location_review->user_id = Auth::user()->id;
$location_review->location_id = $request->location;
$location_review->rating = $request->rating;
$location_review->save();
return response()->json([
'status' => "success",
]);
}
邮递员返回错误
“未定义路由[登录]。”
我不知道为什么拉威尔会退回我送来的不同饼干。
似乎拉威尔想让我们重定向到登录表单,但因为它发生在邮递员身上。(如果我错了,请纠正我)
另外,可能是因为我从网络路由而不是api路由得到了cookie。这是罪魁祸首吗?如何做到这一点?谢谢。用API中的会话处理身份验证不是正确的方法。 要声明api路由,必须使用routes文件夹中适当的
api.php
文件。
正如官方的Laravel handle API中所记录的,使用您必须插入到头请求中的令牌进行身份验证
例如:
$response = $client->request('POST', '/api/user', [
'headers' => [
'Authorization' => 'Bearer '.$token, // Here you've to insert your token
'Accept' => 'application/json',
],
]);
要使用Postman测试API,您必须设置授权
令牌,如下图所示:
用API中的会话处理身份验证不是正确的方法。 要声明api路由,必须使用routes文件夹中适当的
api.php
文件。
正如官方的Laravel handle API中所记录的,使用您必须插入到头请求中的令牌进行身份验证
例如:
$response = $client->request('POST', '/api/user', [
'headers' => [
'Authorization' => 'Bearer '.$token, // Here you've to insert your token
'Accept' => 'application/json',
],
]);
要使用Postman测试API,您必须设置授权
令牌,如下图所示: