Size: a a a

Clojure — русскоговорящее сообщество

2020 June 21

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Это правда минимум
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Я имею ввиду сейчас такая тенденция, совсем маленьким делать
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Hell if I know, мы сейчас с ними работаем, Cognito даёт access token действительный один час.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Возможно, оно настраиваемо, мы не трогали.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Anton Chikin
База не база суть в том что jwt самодостаточен и не требует похода куда-то для проверки
а если пользователь изменился в базе за это время?
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
то по старому токену можно получать доступ к данным до истечения срока токена
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ivan Grishaev
а если пользователь изменился в базе за это время?
В смысле? В токен кладут юзер айди, время и набор прав
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ivan Grishaev
а если пользователь изменился в базе за это время?
Ну так о том и речь что такой токен не подходит для ситуаций когда тебе надо на каждый запрос сверяться с централизованным хранилищем
источник

Н

Никита in Clojure — русскоговорящее сообщество
Anton Chikin
Ну так о том и речь что такой токен не подходит для ситуаций когда тебе надо на каждый запрос сверяться с централизованным хранилищем
Что в таком случае использовать?
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Никита
Что в таком случае использовать?
Да хоть рандомную строку. Достаточной длины, чтобы было не угадать.
источник

Н

Никита in Clojure — русскоговорящее сообщество
Pavel Peganov
Да хоть рандомную строку. Достаточной длины, чтобы было не угадать.
В плане как это обрабатывать? Хранить отдельно в табличке sessions в виде userid-token?
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Это вариант, да.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Можно, при желании, сделать что-то с криптографией, близкое к JWT, чтобы хранить эти детали не было необходимости — но не запекать туда штуки, о которых всё равно потребуется каждый раз спрашивать авторизующий сервис.
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
Что-нибудь вроде
user-id + expires-at + HMAC(secret, user-id + expires-at)
источник

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
спасибо, за труды @igrishaev ! Читал твою книгу онлайн и хочу купить бумажную версию. Подскажи, ты в США доставляешь?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Yurii Khmelevskii
спасибо, за труды @igrishaev ! Читал твою книгу онлайн и хочу купить бумажную версию. Подскажи, ты в США доставляешь?
Да, отправлю. Подробности можно в личку.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Никита
Что в таком случае использовать?
Обычную сессию или как на SO предлагали -jwt by reference
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Никита
В плане как это обрабатывать? Хранить отдельно в табличке sessions в виде userid-token?
Да. Раньше так и делали. Да и сейчас
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
JWT/OAuth - это актуально для third party auth
источник
2020 June 22

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Переслано от Mikhail Kuzmin
Привет!
В мае вышел Project Loom early access build.
Я на коленке переделал библиотеку эффектов на него.

https://github.com/darkleaf/effect/blob/loom/src/darkleaf/effect/loom.clj#L18-L50
https://github.com/darkleaf/effect/blob/loom/test/darkleaf/effect/loom_test.clj#L10-L27

Когда выйдет релиз Project Loom и если класс Continuation оставят публичным, то with-effects будет не нужен.

(t/deftest loom
 (let [add-rnd      (fn [x] (+ x (! (effect :random))))
       ef           (fn [n]
                      (->> (range n)
                           (mapv add-rnd))) ;; lazy is not supported
       continuation (e/continuation ef)]
   (t/testing "script"
     (let [script [{:args [3]}
                   {:effect   [:random]
                    :coeffect 0.1}
                   {:effect   [:random]
                    :coeffect 0.2}
                   {:effect   [:random]
                    :coeffect 0.3}
                   {:return [0.1 1.2 2.3]}]]
       (script/test continuation script)))))
источник