如何使用 axios 将 GET 请求发送到 jwt-auth?



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': '*',
}
}

最新更新