【发布时间】:2019-11-14 04:15:01
【问题描述】:
我在routes/api.php上配置的laravel应用路由是。
<?php
use Illuminate\Http\Request;
Route::post('see_all_product', 'API\ProductController@see_all_product');
?>
问题是我想发送产品列表,但如果用户已通过身份验证,则发送产品收藏标志 1,如果未通过身份验证,则发送返回收藏夹 0
但两种情况都会发送带有喜爱标志的产品列表。
如果我使用我的用户 ID 和密码登录并发送 see_all_product 请求,那么我将获得空白用户。
$user = $request->user();
但如果我像下面这样设置路线,我会得到用户详细信息。
<?php
use Illuminate\Http\Request;
Route::group(['middleware' => 'auth:api'], function(){
Route::post('see_all_product', 'API\ProductController@see_all_product');
});
?>
现在的问题是,如果在标头中使用相同的 api 设置授权,我如何获取详细信息。
<?php
use Illuminate\Http\Request;
Route::post('see_all_product', 'API\ProductController@see_all_product');
?>
我的see_all_product功能
public function see_all_product(Request $request){
try {
$user = $request->user();
} catch (Exception $ex) {
Log::error($ex);
}
}
认证用户和访客用户的 API 相同。
我在这两种情况下都通过了授权令牌,但中间件路由我得到了用户详细信息,但非中间件路由我没有得到用户信息。
请指导我在哪里可以错过什么?
【问题讨论】:
-
在此处粘贴您的控制器方法
see_all_product代码 -
@SalmanZafar 根据以下详细信息获取用户详细信息
<?php use Illuminate\Http\Request; Route::group(['middleware' => 'auth:api'], function(){ Route::post('see_all_product', 'API\ProductController@see_all_product'); }); ?>不根据以下详细信息获取用户详细信息<?php use Illuminate\Http\Request; Route::post('see_all_product', 'API\ProductController@see_all_product'); ?> -
在您的问题中添加此代码
-
你是从 laravel 内部还是从 postman 之类的东西发出请求?
-
@Cameron 邮递员
标签: laravel laravel-5 laravel-passport