如何在Vue.js中设置授权令牌?

时间:2018-07-10 11:32:59

标签: laravel vue.js jwt vue-router

我在laravel 5.2和Vue Js中使用JWT授权。 我有分别用于客户端和服务器端的文件夹。我使用以下代码登录了应用程序:

<script>
export default {
  data () {
    return {
      email: null,
      password: null,
      error: false
    }
  },
  methods: {
    login () {
      var app = this
      this.$auth.login({
        params: {
          email: app.email,
          password: app.password
        },
        success: function (response) {
          console.log(this.$auth.token())
          this.$auth.user(response.data.user)
        },
        error: function () {},
        rememberMe: false,
        redirect: '/',
        fetchUser: true
      })
    }
  }
}
</script>

服务器端代码:

public function login(Request $request)
    {
        $credentials = $request->only('email', 'password');
        if ( ! $token = JWTAuth::attempt($credentials)) {
                return response([
                    'status' => 'error',
                    'error' => 'invalid.credentials',
                    'msg' => 'Invalid Credentials.'
                ], 400);
        }
        return response([
                'status' => 'success'
            ])
            ->header('Authorization', $token);
    }

此后,它也应该由于fetchUser: true获得用户信息。 在登录时,我得到了一个授权码,但是当它请求获取用户调用时,它的标题中没有授权令牌,并且会生成错误:

  

未提供令牌

我是Vue.js的新手。

0 个答案:

没有答案