Как отправить запрос GET с помощью axios в jwt-auth?

В приложении vue / cli 4 / vuejs 2.6.10 / vuex, 3.0.1 я делаю запрос axios

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', 'API\PersonalController@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 запрос и я сделал в теме старт?


person mstdmstd    schedule 03.12.2019    source источник


Ответы (1)


Я нашел решение в добавлении параметра авторизации в заголовки запросов

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': '*',
    }
}
person mstdmstd    schedule 04.12.2019