В подписи используются открытые ключи (например, RS256)

я есть nodejs api с угловым интерфейсом. API успешно использует JWT с паспортом для защиты своих конечных точек.

Теперь я осознаю, что после истечения срока действия токенов мой интерфейс все еще позволит пользователю запрашивать мои конечные точки API, не предлагая им повторно вводить данные своего логина, чтобы получить новый токен.

Вот как мой бэкэнд генерирует токен:

function generateToken(user) {
  return jwt.sign(user, secret, {
    expiresIn: 10080 // in seconds
  });
}

Поэтому для реализации этой логики я думаю, что мне нужно проверить клиентский токен JWT. Q1, это разумный подход.

Q2,JWT Библиотека, которую я использую, кажется, требует открытого ключа, чтобы использовать егоverify() функция. Кажется, у меня нет открытого ключа, только секрет, который я только что составил, поэтому он не был сгенерирован парой. Откуда взялся мой открытый ключ или есть другой способ проверки моего токена без этого?

Все это кажется очевидным, и я что-то упустил, поэтому извиняюсь, если это глупый вопрос, но я не могу найти ответ?

Ответы на вопрос(4)

Ваш ответ на вопрос