Получите и отправьте авторизационный токен в Swagger

Я создаю страницу документации с помощью Swagger и хочу автоматически добавить токен доступа, полученный от правильного /login вызов. Я пытался с помощью

responseInterceptor: (responseObj) => {
if(responseObj.obj.access_token !== 'undefined'){
token = responseObj.obj.access_token;
}
return responseObj
}

получать и хранить токен, и

requestInterceptor: (requestObj) => {
if(token !== 'undefined') {
requestObj.headers.Authorization = `Bearer ${token}`;
}
return requestObj
}

передать его на последующие запросы через заголовок, однако это работает только для одного вызова, после чего токен возвращается к null,

Как я мог сохранить token ценность от возврата?

1

Решение

Нашел решение, объявив токен глобальной переменной.

//Checks any reponse obtained for an access token
responseInterceptor: (responseObj) => {
if("access_token" in responseObj.obj){
window.token = responseObj.obj.access_token;
}
return responseObj
},

//Adds the authorization to the request header if token has been set
requestInterceptor: (requestObj) => {
if(window.token) {
requestObj.headers.Authorization = `Bearer ${window.token}`;
}
return requestObj
}

Я новичок в JS и Swagger, поэтому ответ не был очевидным. Я надеюсь, что это поможет кому-то в конце

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]