aws-ampify Auth.currentSession () не выдает обновленный токен через час

К какой категории относится ваш вопрос?

Токен обновления AWS ampify с автоматической обработкой

Какие сервисы AWS вы используете?

aws-ampify

Укажите дополнительные сведения, например фрагменты кода

axios.interceptors.request.use(function(config) 
{ return Auth.currentSession() .then(session => { // User is logged in. 

  Set auth header on all requests 
  let accessToken = session.idToken.jwtToken; 

  axios.defaults.headers.common["Authorization"] = accessToken; 
  return Promise.resolve(config); })
   .catch(() => { 
  // No logged-in user: don't set auth header 
  return Promise.resolve(config); 
}); 
});

Это запрос перехватчика, который я использую сейчас, чтобы получить последний действительный токен независимо от общего времени, поскольку пользователь вошел в систему как # 446, а документация aws-ampify сообщает, что он автоматически обновляет токен внутри, а Auth.currentSession() дает вам последний действительный jwtToken каждый раз.

Но вот что я испытываю: я вхожу в систему: Auth.currentSession() продолжает давать мне jwtToken, который был получен при logged_in. Через час срок действия токена истек, и Auth.currentSession() все еще выдавал этот предыдущий токен с истекшим сроком действия, из-за чего мой сервер отправил мне 401. Как мне его обработать? Как мне продолжать получать последний действующий обновленный токен jwtToken? Я неправильно его использую или это ошибка?


person ghazanfar malik    schedule 21.11.2018    source источник
comment
Прочтите При каких обстоятельствах я могу добавить фразу «срочно» или другие похожие фразы к моему вопросу, чтобы получить более быстрые ответы? - Резюмируя, можно сказать, что это не идеальный способ обращения к волонтерам и, вероятно, контрпродуктивен для получения ответов. Пожалуйста, воздержитесь от добавления этого к своим вопросам.   -  person halfer    schedule 21.11.2018
comment
Есть ли ответы от AWS на этот вопрос? У меня такая же проблема в моем приложении   -  person widdy    schedule 18.01.2019


Ответы (1)


Этот ответ может быть слишком запоздалым для вас, но если кто-то еще наткнется на эту тему, вы, вероятно, используете «токен» в качестве потока предоставления авторизации. Вместо этого используйте «код». Не забудьте также изменить это в консоли когнито. Выберите предоставление кода авторизации вместо неявного предоставления

person Gurpreet Sandhu    schedule 21.07.2020