
Fike
14.09.2018
20:32:18

Руслан true.sorcerer
14.09.2018
20:32:43
никогда не встречал, нужно будет курнуть

Fike
14.09.2018
20:32:50
https://jwt.io/

Руслан true.sorcerer
14.09.2018
20:33:03
но пока логики и профита не понял)

Google

Alexey
14.09.2018
20:33:18

Fike
14.09.2018
20:33:39

Руслан true.sorcerer
14.09.2018
20:34:01
ну это же какойто аналог по котрому мы определяем кастомера?

Alexey
14.09.2018
20:34:20
Да, там внутри любой json с данными кастомера

Fike
14.09.2018
20:34:30
С хэшем тебе придется знать его собственный секрет, а тут вообще все клево. И пользователь сам тебе сообщает свои роли, а ты подтверждаешь их достоверность с помощью публичного ключа. Сам юзер, пока не утек приватный ключ, не может сам себе их выписать.

Let Eat
14.09.2018
20:34:38

Руслан true.sorcerer
14.09.2018
20:35:00
а сложности миграции с обычных сессий?

Alexey
14.09.2018
20:35:27
Проще намного

Руслан true.sorcerer
14.09.2018
20:36:01
нагрузки выростают правильно?

Fike
14.09.2018
20:36:13
а сложности миграции с обычных сессий?
Это все-таки не совсем сессии, это способ передачи клеймов и прочей меты о юзере. Но если сильно хочется, то просто на каждом запросе подтверждаешь токен и делаешь бейз64 декод + джейсон декод

Alexey
14.09.2018
20:36:13
Кроме того, что жрет cpu больше на криптографию, но это не сильно важно.

Google

Руслан true.sorcerer
14.09.2018
20:36:20
как минимум проц, экономим на оперативке и хранилище

Fike
14.09.2018
20:36:43
ну если консюмер и продюсер один и тот же, то затраты на хэш должны быть не такими уж сильными

Руслан true.sorcerer
14.09.2018
20:37:03
чем больше новых юзеров тем выше нагрузка получается

Alexey
14.09.2018
20:37:18
нет

Fike
14.09.2018
20:37:38

Alexey
14.09.2018
20:37:52
ну и да и нет. на обычных сессиях куча пользователей - куча места под сессии.
тут можно хоть отдельным сервом генерить/чекать токены

Fike
14.09.2018
20:38:13

Руслан true.sorcerer
14.09.2018
20:38:16

Alexey
14.09.2018
20:38:48
да. Главное secret не потерять.
2 сервера с одним секретом дают валидные токены

Руслан true.sorcerer
14.09.2018
20:39:17
ну это понятно) мы чтото с темы съехали

Fike
14.09.2018
20:39:36
если ttl с самого начала делать - ну будет просто перелогин для каждого пользователя

Руслан true.sorcerer
14.09.2018
20:39:52
и это все на джаве я правильно понял?

Fike
14.09.2018
20:40:02
на любом языке
де-факто это просто джейсон-пейлоад с подписью, которую при желании ты можешь даже не верифицировать

Руслан true.sorcerer
14.09.2018
20:40:22
хм, спасибо за инфу покурю
а стоп, недостатки?

Fike
14.09.2018
20:41:16
больше передавать по сети + пользователь видит все, что ему передано

Google

Fike
14.09.2018
20:41:38
легче всрать, нужно поддерживать инфраструктуру для refresh token

Руслан true.sorcerer
14.09.2018
20:42:31
а как происходит отзыв?

Fike
14.09.2018
20:42:41
на каждый чих надо перевыписывать токен, легко может сложиться ситуация, когда на разных девайсах разные токены
по ttl, если нужно срочно - надо держать аналог CRL на сервере
Обычно просто есть refresh token, который можно обменять на новый jwt, поэтому для пользователя это все вообще незаметно.

Alexey
14.09.2018
20:44:22
в токене можно писать {"is_admin": true}
если поменять пользователю права, то он увидит изменения только после релогина, потому что в коде
if (token.is_admin) {
}
и все.

Fike
14.09.2018
20:44:53

Alexey
14.09.2018
20:44:58
нет
я всегда в токене храню user_id. В чем проблема выдать по запросу?
пока жив текущий

Fike
14.09.2018
20:45:32
он может уже быть не жив

Alexey
14.09.2018
20:45:38
а, в том, что он подохнет.
ок

Руслан true.sorcerer
14.09.2018
20:46:07
а сам экспаринг как происходит? просто отзывает отдельно или есть какойто ттл?

Alexey
14.09.2018
20:46:19
есть ttl
если нужно раньше, то blacklist

Fike
14.09.2018
20:46:39
Как сделаешь, так и будет. Можно в токен записать ттл и считать токен с превышенным ттл протухшим.

Руслан true.sorcerer
14.09.2018
20:46:50

Alexey
14.09.2018
20:47:19
вся логика кроме ttl руками, как нужно в конкретном случае

Google

Руслан true.sorcerer
14.09.2018
20:48:06
ладно нужно разбираться и это не в пятницу вечером)

Alexey
14.09.2018
20:49:20
раньше все юзали config файла, а сейчас ENV
примерно так же с сессиями и jwt

Let Eat
14.09.2018
20:49:34

Fike
14.09.2018
20:49:48
а стоп, недостатки?
ну еще можно украсть refresh token из jwt за счет какого-нибудь xss, если только он не передается как httpOnly кука

Руслан true.sorcerer
14.09.2018
20:49:49

Fike
14.09.2018
20:50:03

Руслан true.sorcerer
14.09.2018
20:51:04

Fike
14.09.2018
20:51:51
засовывать в линейно масштабируемое хранилище (из самых ярких примеров кассандра / scylladb , dynamodb)

Let Eat
14.09.2018
20:53:33

Руслан true.sorcerer
14.09.2018
20:53:58
чтото выглядит извращенно)

Alexey
14.09.2018
20:56:58
Горячие плавно переедут, а у старых и так сессии сдохнут.

Fike
14.09.2018
21:02:37

Руслан true.sorcerer
14.09.2018
21:03:16
да чтото есть похожее

Andre
15.09.2018
04:05:27
https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
Удобно не только для YAML, но и для кода на питоне и вообще

Robert
15.09.2018
06:54:13

Alexey
15.09.2018
14:03:51

J
15.09.2018
18:48:02
как то антиспам не сработал )

Google

Leo
15.09.2018
18:48:18
Похоже на ажур)

Banschikov
15.09.2018
18:50:04

Twelfth
16.09.2018
08:09:04
Кто-нибудь rook.io в проде использует?

Алексей
16.09.2018
08:19:30

Twelfth
16.09.2018
08:20:47

Алексей
16.09.2018
08:22:26

Maxim
16.09.2018
08:28:32

J
16.09.2018
09:26:27

Даниил
16.09.2018
12:06:38
ребят, что лучше выбрать для кручения нетворка в дев среде с сингл-мастером и мульти-нодами?
калико?

Ян
16.09.2018
12:22:15
калико?
по крайней мере его советуют дяди с большини нагрузками и объемами