微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有标题授权vuejs laravel

如何解决没有标题授权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 举报,一经查实,本站将立刻删除。