@proRuby

Страница 1437 из 1594
larry
17.09.2018
07:55:18
to_sql

попробуй

Nikita
17.09.2018
07:55:51
Там же Int возвращается

larry
17.09.2018
07:57:12
Ты как делаешь? покажи код

Google
Roman
17.09.2018
07:57:29
User.select('max(id)')

но это убогонько

Anton
17.09.2018
07:58:32
это понятно, и зачем ставить срок жизни?
Что бы твой токен не работал вечно

larry
17.09.2018
07:59:32
Ок, а зачем делать так что бы токен не работал вечно?

почему бы не сделать срок его жизни полгода например, после выбрасывать, не создавая доп refreshToken

Igor
17.09.2018
08:00:33
larry
17.09.2018
08:01:10
Люди у которых есть опыт досихпор толком не знают зачем нужен refresh токен но делают как написано

он нужен для того что бы предвратить перехват но зачем? если все шифруется через ssl

Anton
17.09.2018
08:02:41
Ок, а зачем делать так что бы токен не работал вечно?
Ну давай рассуждать. Ты приходишь в мак. Твой токен снифают. У злоумышленика jwt токен чужой, который работает бесконечно. Как думаешь, это ок?

larry
17.09.2018
08:03:28
а как его перехватили? подсел за чужой комп и открыл devtools и посмотрел?

Anton
17.09.2018
08:04:21
он нужен для того что бы предвратить перехват но зачем? если все шифруется через ssl
Не всегда все шифруется, это раз. Два, твой jwt может юзаться не только для веба, три - ты можешь забыть выйти из приложения и токен останется (прямо тру стори, видел такое больше 10 раз)

larry
17.09.2018
08:07:32
Не всегда все шифруется, это раз. Два, твой jwt может юзаться не только для веба, три - ты можешь забыть выйти из приложения и токен останется (прямо тру стори, видел такое больше 10 раз)
ок, я сделал например время жизни токена 30 мин и ревреш токен 10 дней, вот я забыл выйти из прилы и ушел, подсел другой чувак, токен тухлый но он потом отправит рефреш токен и обновить все, тот же сценарий получается

Igor
17.09.2018
08:09:37
Google
Vasiliy
17.09.2018
09:10:23
тут вот можно дополнить антона, что когда чувак к примеру спалит что кто-то получил доступ, владелец сможет изменить пароль и рефреш токен уже не получится, в случае с бесконечным токеном - доступ будет всегда

Vasiliy
17.09.2018
09:32:13
ngrok?

у него вебморда есть, где примерно так же как и хттпбине будет

Vasiliy
17.09.2018
09:41:35
В жвт нельзя

ну и жвт это просто про шифровку расшифровку, хуевертить с данными в нем можешь как хочешь

по дефолту решения которые есть(по крайней мере когда изучал) не предоставляли блэклисты

Dmitriy
17.09.2018
10:10:42
только если хранить какой-нибудь идентификатор токена на сервере. Чтобы потом например в блэк-лист добавлять конкретный токен. Но в этом случае весь смысл использования jwt теряется

Vasiliy
17.09.2018
10:27:43
тут в принципе и довольно неудобно контроллировать активные сессии пользователя если вход не с одного устройства

Lupsick
17.09.2018
10:52:40
В жвт нельзя
почему нельзя?

Vasiliy
17.09.2018
10:53:25
ты сейчас хочешь сказать что можно или не знаешь почему нельзя?

Vasiliy
17.09.2018
10:55:20
как?

Lupsick
17.09.2018
10:55:28
как?
храня токен в редисе

и удаляя когда тебе угодно

Roman
17.09.2018
10:55:42
не получится так

способ есть

Google
Lupsick
17.09.2018
10:55:48
почему лол?

Roman
17.09.2018
10:55:48
но не такой =)

потому что jwt не сверяется с базой

он распаковывается или нет

Lupsick
17.09.2018
10:56:08
вут

там есть ключ внутри

можно поменять ключ

Vasiliy
17.09.2018
10:56:16
jwt подразумевает отсутствие на стороне сервера какого либо идентификатора

это уже навороты дальше

Roman
17.09.2018
10:56:32
пажжи какой ключ?

ты если ключ сменишь, у тебя все jwt отвалятся для этого юзера

Roman
17.09.2018
10:57:01
это подходит для total recall - например если сменился проль

но не подходит для "ревокни мне вот этот и вот тот"

Lupsick
17.09.2018
10:57:19


все что вы пытаетесь представить как "невозможно" все равно решается через редис

Vasiliy
17.09.2018
10:57:49
Он имеет в виду генеришь ключ, складываешь его в жвт и потом проверяешь при следующих запросах

Собственно тут встаёт вопрос - нахуя тогда тебе жвт вообще

Roman
17.09.2018
10:58:08
все что вы пытаетесь представить как "невозможно" все равно решается через редис
ну да, надо в редис класть токены, который ты хочешь заэкспайрить

но это не всем подходит

Google
Vasiliy
17.09.2018
10:58:55
Там же в доке у тебя как раз пейлоад есть

Там юзер и тд

Если ты токен ещё вкорячиваешь зачем тебе жвт в принципе?

Admin
ERROR: S client not available

Roman
17.09.2018
10:59:39
не ну не токен

а просто "версия" интом

юзер сменил пароль - накинул единичку в его версию и все его жвт сдохли

Lupsick
17.09.2018
11:01:35
Roman
17.09.2018
11:01:43
дак он же подписан

Vasiliy
17.09.2018
11:01:55
И шифрован

Roman
17.09.2018
11:02:10
ну шифрован не обязательно, если не секретный

но защищен от изменения

Vasiliy
17.09.2018
11:02:32
Вообще я когда думал как разрулить блэклисты

Дошел до того что надо хранить ид девайса с которого был вход и ид пользователя в пейлоаде, и поиск собственно по ним рулить, удаляя девайс(сессию) мы тем самым инвалидируем токен

Roman
17.09.2018
11:04:36
да, так норм

ну это по сути одно и то же, что и записывать jwt в базу)

Vasiliy
17.09.2018
11:05:06
Можно в бд хранить токены жвт непосредственно, но тогда теряется смысл вообще этого токена

Roman
17.09.2018
11:05:11
ну не одно и то же да

дада

просто в изначальном смысле жвт это возможность сказать да или нет без консультации чего бы то ни было вообще

Google
Roman
17.09.2018
11:06:07
если для того чтобы проверить валидность тебе надо кудато лезть - ты используешь jwt не так

Vasiliy
17.09.2018
11:06:38
Я сам раньше долго кричал что жвт гавно и проще и надёжнее с токенами в бд

Rafkat
17.09.2018
11:28:59
кому нужен стрим по JWT

https://www.youtube.com/watch?v=u9hn3s2kUrg

от широко известного в узких кругах smpl

Anton
17.09.2018
11:30:10
есть же книга про jwt крутая

Tim
17.09.2018
11:30:19
добавлю в список книг на чтение

я сёдня получил книженцию пресвятого егорушки бугаенко

Rafkat
17.09.2018
11:31:02
?

Anton
17.09.2018
11:31:07
можешь в интернете название загуглить

она бесплатная

Страница 1437 из 1594