
Gleb
04.09.2018
19:51:53

Gor
04.09.2018
19:52:04
спс народ.
+1 галочка в голове на один не отвеченный себе вопрос
в условиях микросервисов имеет смысл jwt использовать как сесия токен. тогда не надо обращатся к базе токенов (сессий) для идентификации источника запроса и его уровня прав...

Google

Дмитрий
04.09.2018
19:54:48

Gor
04.09.2018
19:55:30
если ответ от auth сервиса кешировать - теоретически jwt может быть дороже за счет CPU трат на расшифровку. да

Сергей
04.09.2018
19:55:32
профита от jwt меньше нуля. ибо идет нагрузка на валидацию подписи

Дмитрий
04.09.2018
19:56:23

Gor
04.09.2018
19:56:39
ну только если на блок проверять да. а данные юзера можно теоретически засунуть в токен. практически же потенциально при утечки приватного ключа тогда это будет точка уязвимости

Сергей
04.09.2018
19:56:44

Aga
04.09.2018
19:56:51

Сергей
04.09.2018
19:56:59

Aga
04.09.2018
19:57:12
express sessions?

Сергей
04.09.2018
19:57:25
любую реализацию, хоть свою

Gor
04.09.2018
19:57:31
я вот юзаю отдельний микросервис сессий

Google

Таймураз
04.09.2018
19:57:37

Дмитрий
04.09.2018
19:57:42
и получить дырку
Ну точнее есть схема с двумя токенами, когда один короткий, типо 5 минут, и длинный. Длинный 2 недели или бесконечный. Длинный имеет чёрный лист и вот это вот всё, раз в 5 минут получаем короткий по длинному, авторизацию проводим коротким. В итоге быстро и безопасно

Gor
04.09.2018
19:57:49
какраз на каждый запрос API туда идет запрос на scope для token

Сергей
04.09.2018
19:58:05

Дмитрий
04.09.2018
19:58:35

Aga
04.09.2018
19:58:54
Client -> Auth Service -> Sessions Service > Auth Service -> Client
Такая схема авторизации?

Сергей
04.09.2018
19:59:00

Дмитрий
04.09.2018
19:59:40
зачем. Удалять просто из базы
Ну можно и так. Просто можно его вообще в базе не хранить, а хранить только чёрный список. Но это в любом случае мелочи

Gleb
04.09.2018
19:59:53
зачем. Удалять просто из базы
вот вот, зачем блеклист для длинных? просто если нужно асап забанить юзера вносишь его короткий в блеклист, когда он сдохнет убираешь из блеклиста. длинный в самом начале тупо удаляешь

Сергей
04.09.2018
20:00:01
есть в базе — валиден

Aga
04.09.2018
20:00:20

Дмитрий
04.09.2018
20:00:53

Сергей
04.09.2018
20:00:58
проблема в оверхеде
t.me/why_jwt_is_bad
в самом начале картинка
чтобы решить все траблы с jwt придется буквально переизобрести сессии

Google

Сергей
04.09.2018
20:01:30
зачем?

Aga
04.09.2018
20:03:13
Верно понял схему?
Сессию можно привязывать к User Agent, как в том же Telegram

Сергей
04.09.2018
20:03:44

Aga
04.09.2018
20:04:00
То есть, это один сервер?

Сергей
04.09.2018
20:04:13
да

Aga
04.09.2018
20:04:43
Хорошо, как клиент узнаёт что он авторизован?
С тем же JWT, токен хранился в localStorage и я чекал по нему
Или кукисы?

Дмитрий
04.09.2018
20:04:58
Причём Httponly

Aga
04.09.2018
20:05:39
то есть, Auth Service при создании сессии, отправляет её клиенту, тот пишет её в httponly cookie?

Gleb
04.09.2018
20:05:41

Nell
04.09.2018
20:05:52

Gor
04.09.2018
20:05:58
@dskrylnikov только куки советуешь из-за того что токен утечь может?

Aga
04.09.2018
20:06:49

Сергей
04.09.2018
20:07:08

Aga
04.09.2018
20:07:10
CDN стырить могут

Gor
04.09.2018
20:07:22
проще чем обычный куки?

Google

Сергей
04.09.2018
20:07:27

Дмитрий
04.09.2018
20:07:37

Admin
ERROR: S client not available

Aga
04.09.2018
20:07:50

Сергей
04.09.2018
20:07:58

Дмитрий
04.09.2018
20:08:10

Gor
04.09.2018
20:08:25
если есть под рукой ссылочка на простоту уведения токена из localStorage буду рад.

Сергей
04.09.2018
20:08:42
localStorage.removeItem

Дмитрий
04.09.2018
20:08:43

Aga
04.09.2018
20:08:55
не будет
На сервере SSR принимать запрос?

Nell
04.09.2018
20:09:33
help! SoS!

Таймураз
04.09.2018
20:10:31
{2,13}

Сергей
04.09.2018
20:10:37
regexpal.com

Aga
04.09.2018
20:10:37
Кстати, как насчёт passportjs?
В продакшне стоит юзать?

Nell
04.09.2018
20:10:49

Таймураз
04.09.2018
20:11:51

Ilya
04.09.2018
20:12:41

Alexander
04.09.2018
20:15:26

Google

Таймураз
04.09.2018
20:17:45

brachkoff
04.09.2018
20:18:38

Таймураз
04.09.2018
20:19:05

brachkoff
04.09.2018
20:19:16
Понятно

Ilya
04.09.2018
20:19:18

Aga
04.09.2018
20:31:19
Подача конечно у него и интонация ужс)

Таймураз
04.09.2018
20:32:11

Alexander
04.09.2018
20:32:15
Ну кому заходит кому нет ) мне ок)

Aga
04.09.2018
20:32:37
async/await не поддерживает, это не оч

Ilya
04.09.2018
20:32:37

Aga
04.09.2018
20:32:42