Хранение JWT на стороне сервера express.js - PullRequest
0 голосов
/ 03 апреля 2019

Наша текущая ситуация:

У нас есть внутреннее веб-приложение, которое я создал с помощью express.js для хранения и анализа ДНК.У нас также есть стороннее приложение, которое мы используем для хранения информации, связанной с экспериментами.Поскольку это стороннее приложение также может хранить днк, в моем приложении есть функция, позволяющая вручную экспортировать информацию днк, которая затем может быть загружена в это стороннее программное обеспечение.Сегодня я получил ключи API для стороннего приложения и хотел бы обновить его библиотеку днк, когда мои коллеги вводят днк в мое приложение.

Что мы собираемся сделать:

API стороннего приложения передает мне токен jwt, который я затем могу использовать для отправки запросов почтальону и периодически обновлятькак это истекает.Если я делаю все это на стороне сервера в своем приложении, как я могу сохранить токен доступа jwt, так как он будет использоваться для каждого запроса, сделанного сервером?Есть ли способ установить глобальный сеанс в экспресс?

1 Ответ

1 голос
/ 03 апреля 2019

Если вам нужен этот токен только в одном js-файле, все, что вам нужно сделать, это установить переменную в начало этого файла, и вы будете обращаться к нему.(глобальная область)

Если в нескольких файлах у вас есть 2 варианта:

Ugly:

Вы используете объект global, например: global.jwt1 = '...'

Вы создаете токен-менеджер:

let tokens = {}

class Manager {
  static get(name) {
    if(!tokens[name]) 
      return null;
    return tokens[name]
  }

  static set(name, val) {
    tokens[name] = val
  }
}
module.exports = Manager;

И используете:

const jwt = require('./manager')
jwt.set('client 1', '...')
let t = jwt.get('client 1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...