@nodejs_ru

Страница 2502 из 2748
Gor
04.09.2018
19:52:04
спс народ.

+1 галочка в голове на один не отвеченный себе вопрос

в условиях микросервисов имеет смысл jwt использовать как сесия токен. тогда не надо обращатся к базе токенов (сессий) для идентификации источника запроса и его уровня прав...

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

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: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
есть в базе — валиден

Дмитрий
04.09.2018
20:00:53
есть в базе — валиден
Так фишка jwt в том что в базе он не лежит

Сергей
04.09.2018
20:00:58
Client -> Auth Service -> Sessions Service > Auth Service -> Client
не совсем понимаю назначение каждого сервиса и почему двойной проход через auth

проблема в оверхеде

t.me/why_jwt_is_bad в самом начале картинка

чтобы решить все траблы с jwt придется буквально переизобрести сессии

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

Aga
04.09.2018
20:03:13
не совсем понимаю назначение каждого сервиса и почему двойной проход через auth
Клиент шлёт Auth Service username:password для авторизации, он чекает в своей бд валидность. Есть успешно - шлёт Sessions Service запрос с нужными данными, для создания сессии. Если сессия не существует, создаётся. Шлётся клиенту сообщение об успешной авторизации.

Верно понял схему?

Сессию можно привязывать к User Agent, как в том же Telegram

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

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

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

Или кукисы?

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

Gleb
04.09.2018
20:05:41
Причём Httponly
как быть с разными доменами? )

Nell
04.09.2018
20:05:52


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

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

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

Google
Admin
ERROR: S client not available

Aga
04.09.2018
20:07:50
http only может записать только сервер
У меня SSR, сложновато будет немного

Сергей
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
{2,13}
пасиба!

Таймураз
04.09.2018
20:11:51
пасиба!
Пожалуйста

Ilya
04.09.2018
20:12:41
Любое расширение в браузере имеет к нему доступ
Если бы только, с учётом того, как распространена XSS уязвимость, то можно утянуть практически с любого сайта, где хранится в localstorage

Alexander
04.09.2018
20:15:26
На сервере SSR принимать запрос?
На счет jwt в целом, есть видео , https://youtu.be/vQldMjSJ6-w где тема разжовывается подробно в 4 кажется роликах.

Google
Таймураз
04.09.2018
20:17:45
Кстати, как насчёт passportjs?
В продакшне можно использовать, но многих напрягает то, что он на коллбеках построен

brachkoff
04.09.2018
20:18:38
t.me/why_jwt_is_bad в самом начале картинка
Чувак (оффтоп) зачем ты колекционируешь плохие стороны всего?

Таймураз
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
На счет jwt в целом, есть видео , https://youtu.be/vQldMjSJ6-w где тема разжовывается подробно в 4 кажется роликах.
Посмотрел, был в курсе схемы работы на JWT, ибо полностью сегодня её реализовал :D

Подача конечно у него и интонация ужс)

Таймураз
04.09.2018
20:32:11
Есть аналоги достойные?
Я хочу написать, но до сколь-нибудь уместного сравнения наврядли дойду

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

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

Aga
04.09.2018
20:32:42
JWT?
passport

Страница 2502 из 2748