In vue/cli 4/vuejs 2.6.10/vuex,3.0.1 app I make axios request
axios.get(apiUrl + '/personal/user_groups/'+user_id ) /
.then((response) => {
到后端应用程序(Laravel 5/jwt-auth(与jwt.auth组中的路由:
Route::group(['middleware' => 'jwt.auth', 'prefix' => 'personal', 'as' => 'personal.'], function ($router) {
Route::post('user_groups', 'APIPersonalController@user_groups');
并得到错误:
"error":"UNAUTHORIZED_REQUEST"
我找到了一种使用配置参数和令牌参数发送 POST 请求的方法,我在成功登录时得到了:
let config = {
withCredentials:true,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
}
}
axios({ url: apiUrl + '/personal/user_groups', data: {user_id:user_id, token: this.getters.token}, method: 'POST', config : config })
.then(response => {
但是,如果有一种方法可以发送GET请求并且我在主题开始中提出?
我找到了将授权参数添加到请求标头的解决方案
settingCredentialsConfig.headers.Authorization = "Bearer " + this.getters.token;
axios.get(apiUrl + '/personal/user_groups/' + user_id, settingCredentialsConfig)
.then((response) => {
其中 settingCredentialsConfig 在 settings.js 中定义为
export const settingCredentialsConfig = {
withCredentials:true,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
}
}