如何解决没有标题授权vuejs laravel
预先感谢您的回答。
由于通过vpmjs通过npm run dev和bakcend在服务器apache2(适用于框架的Laravel)上,我拥有一台服务器。
我到达发送数据以对用户进行身份验证,但是当我从后端发送到前端时,我的响应没有收到标头Authorization,但是当我从浏览器中看到Network时,它却是。在请求POST之前,发送了一个请求OPTIONS。
我将中间件cors与:
return $next($request)->header('Access-Control-Allow-Origin',$origin)
->header('Access-Control-Allow-Methods','GET,POST,PUT,DELETE,OPTIONS')
->header('Access-Control-Allow-Headers','Authorization')
->header('Access-Control-Allow-Credentials','true');
但是我没有收到授权承载。
我的控制器:
$credentials = $request->only('username','password');
if ($token = $this->guard()->attempt($credentials)) {
$currentUser = Auth::user();
//$establishments = EstablishmentUser::where('user_id',$currentUser->id)->get();
//$request->session()->put('establishment_id',$establishments[0]->establishment_id);
//Todo WHEN A USER LOGS IN,CHOOSE WHICH ESTABLISHMENT HE WANTS TO WORK WITH
//IN FRONT-END,SWITCH EHPAD,RESIDENCE... AND CHANGE SESSION DATA
//$establishments = EstablishmentUser::where('user_id',$currentUser->id)->get();
// if(count($establishments)==1){
//$request->session()->put('establishment_id',$establishments[0]->establishment_id);
// } else if (count($establishments)>=1){
// //NEED TO CHOOSE ESTABLISHMENT
// }
return response()->json(['msg' => 'success'],200)->header('Authorization',$token);
}
return response()->json(['error' => 'Credential error'],401);
我添加的main.js
axios.defaults.headers.common['Content-Type'] = 'application/json';
axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
axios.defaults.headers.common['Access-Control-Allow-Credentials'] = true;
我该如何解决我的问题?有想法吗?
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。