Аутентификация с использованием React и Pyramid (архитектура микросервисов), как хранить «данные сеанса»? - PullRequest
0 голосов
/ 25 сентября 2018

Как дела?Мне..?Что ж, у меня возникли некоторые проблемы, ха-ха!

Я использую архитектуру API микросервисов в проекте, где API и GatewayAPI разработаны с использованием Python-фреймворка Python, а основной интерфейс - с помощью React.Простая иллюстрация рабочего процесса: https://imgur.com/ifRLLOo

Проблема: где я могу безопасно хранить аутентифицированные "данные сеанса", такие как username, user_id, first_name?После входа в систему я не хочу делать новые запросы к пользовательскому API, просто чтобы получить эту информацию, которая будет постоянно использоваться.

Я знаю, что могу сохранить эти закодированные данные в JWT token и сохранитьтокен в cookies или localStorage, но это ли правильное место?И это правильный процесс?Если это правильное место, нужно ли мне каждый раз отправлять декодированные данные на внешний интерфейс как часть ответа GatewayAPI?

Спасибо за чтение, и я надеюсь, что вы, ребята, сможете меня спасти!

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете хранить JWT в cookie или localStorage, это не имеет значения.Я лично так делаю в localStorage.

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

Я бы также порекомендовал вам создавать токены с датой истечения срока действия для дополнительной безопасности.

Примеры можно посмотреть на pyramid_jwt

...