Size: a a a

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

2019 October 01

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Да, это gut feeling, который я считаю правильным
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Я согласен с тем фактом, что 2 токена это сложная тема и для обычных сайтов ее лучше не далать.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Да вообщем правильно Макс сказал - главная идея в том чтобы не ходить каждый раз в auth сервер
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Забавно, как тридцатилетней давности Kerberos опять появился в вебе в виде OAuth.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Только с ассимметричным крипто.
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Mikhail Gusarov
Но кроме gut feeling "стрёмности" нет чёткого описания атакующих и атак? Ну ок.
По-хорошему, в несекьюрном окружении должен присутствовать только аксесс-токен, типа рефреш лежит на бэке, а на фронтах только аксесс, но что-то у меня не получается дальше это додумать
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
В Kerberos были такие же долгоживущий Ticket-Granting Ticket и обычный Ticket, легко протухающий.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Alex Bubnov
По-хорошему, в несекьюрном окружении должен присутствовать только аксесс-токен, типа рефреш лежит на бэке, а на фронтах только аксесс, но что-то у меня не получается дальше это додумать
Не там смысл в том чтобы клиент мог сам себе сессию обновить, при этом не храня креды
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
Anton Chikin
Не там смысл в том чтобы клиент мог сам себе сессию обновить, при этом не храня креды
В этом никакого смысла не ощущается, к сожалению. Пока рефреш с аксессом хранятся вместе, никакого отличия от одного долгоиграющего токена нет
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Alex Bubnov
В этом никакого смысла не ощущается, к сожалению. Пока рефреш с аксессом хранятся вместе, никакого отличия от одного долгоиграющего токена нет
Еще раз: Макс правильно сказал - есть, если это third party. Т.е. ты авторизуешься через гугол. Таким образом access ты потом можешь отдавать приложению, в котором авторизовался, а refresh ты хранишь у себя и про него никто не знает.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Т.е. это не фича для безопасности, а фича для производительности - не нагружаешь гугловый сервис постоянной долбёжкой к нему.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mikhail Gusarov
Т.е. это не фича для безопасности, а фича для производительности - не нагружаешь гугловый сервис постоянной долбёжкой к нему.
Да, и при этом имеешь секьюрный токен, который ты контролируешь (до определенной степени)
источник

A

Artem in Clojure — русскоговорящее сообщество
Anton Chikin
Просто перед посылкой проверяем в каком состоянии токен сейчас - если его нет - говорим что надо залогиниться и не шлем ничего. Если рефреш в процессе - ретрай через ну не знаю 2 секунды, если токен стух - послать рефреш
Но ведь в браузере есть табы. В двух разных табах одновременно может посылаться по запросу на рефреш. Или например второй случай пользователь может открыть табу, уйдёт запрос на рефреш, но раньше чем придёт ответ пользователь может закрыть табу.
Можно с этими случаями что-то сделать, или мы говорим о том что приведённого тобой способа достаточно?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
тут довольно много написали что с этим можно сделать )
источник

A

Artem in Clojure — русскоговорящее сообщество
Честно говоря вариантов кроме “Послать юзернейм/пароль, получить непротухающую куку” как мне кажется пока не было)
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
так и чем не нравится вариант то?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
строчек кода мало?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Artem
Но ведь в браузере есть табы. В двух разных табах одновременно может посылаться по запросу на рефреш. Или например второй случай пользователь может открыть табу, уйдёт запрос на рефреш, но раньше чем придёт ответ пользователь может закрыть табу.
Можно с этими случаями что-то сделать, или мы говорим о том что приведённого тобой способа достаточно?
Несколько рефреш для пользователя разрешено
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Artem
Честно говоря вариантов кроме “Послать юзернейм/пароль, получить непротухающую куку” как мне кажется пока не было)
Кука не обязательно непротухающая, скорее ее применение контролируется сервером. И если у вас там одна точка и сервисы внутри периметра, то можно дальше ничего не изобретать.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Artem
Но ведь в браузере есть табы. В двух разных табах одновременно может посылаться по запросу на рефреш. Или например второй случай пользователь может открыть табу, уйдёт запрос на рефреш, но раньше чем придёт ответ пользователь может закрыть табу.
Можно с этими случаями что-то сделать, или мы говорим о том что приведённого тобой способа достаточно?
Ну или в shares storage их хранить
источник