[英]How can I access user data from my AuthController and grab the value in FileUploadController successfully?
我的最終目標是我試圖在我的AuthController
中的login()
function 中獲取email
值,並在我的FileUploadController
中使用它。 但在我這樣做之前,我需要確保我可以訪問user
,但它不會讓我。
我試圖put()
它放在 session 和get()
中,但它一直在 Postman 中返回null
運行dd($request->session()->get("user");
未通過身份驗證。
但是,當我使用用戶 email 和密碼成功登錄前端時,這怎么可能呢? 我不確定我在這里缺少什么。 下面是代碼供參考。
AuthController
:
public function login(Request $request) {
$request->validate([
'email' => 'required|string|email',
'password' => 'required|string',
'remember_me' => 'boolean'
]);
$credentials = request(['email', 'password']);
if(!Auth::attempt($credentials))
return response()->json([
'message' => 'Unauthorized'
], 401);
$user = $request->user();
$tokenResult = $user->createToken('Personal Access Token');
$token = $tokenResult->token;
if ($request->remember_me)
$token->expires_at = Carbon::now()->addWeeks(1);
$token->save();
$request->session()->put("user", $user);
return response()->json([
'access_token' => $tokenResult->accessToken,
'token_type' => 'Bearer',
'expires_at' => Carbon::parse(
$tokenResult->token->expires_at
)->toDateTimeString(),
$user
]);
}
文件上傳控制器:
public function store(Request $request){
$filePath = $request->file('file')->getClientOriginalName();
$data= ['file_path'=>$filePath, 'user_id'=>1];
dd($request->session()->get("user"));
DB::table('user.photos')->insert($data);
echo "Record inserted successfully.";
}
使用 Auth 外觀可能更容易,它可以讓您訪問當前授權的用戶。 您可以直接在 FileUploadController 中使用它。
Auth::user()->email;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.