Size: a a a

Vue.js Russian Developers Community

2020 August 18

KA

Kenan Ayvazov in Vue.js Russian Developers Community
Да, в заголовках
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Расулходжа Ганиев
меня к этому и научили 🙊🙈
И если у вас https и мы соглашаемся с Grigory в том, что украсть запрос намного сложнее, чем внедрить хакерский JS на страницу, то лучше использовать cookie http only
источник

РГ

Расулходжа Ганиев... in Vue.js Russian Developers Community
Рафаил Мамедов
И если у вас https и мы соглашаемся с Grigory в том, что украсть запрос намного сложнее, чем внедрить хакерский JS на страницу, то лучше использовать cookie http only
да, у нас https
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
ну тогда access не сохраняйте вообще, а refresh положите в http only куку
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
получается к refresh у вас вообще нет доступа, она используется полуавтоматически

т.е. вы авторизуетесь,
/login
сервер возвращает access, который вы запихиваете в память (в Store или в http инстанс)
сервер устанавливает http only куку для refresh

/other-request уже будут с access_token в хедерах
далее вариант, что access_token истек
тогда
/other-request вернет 401 коде и вы делаете
далее нужно как-то получить новый токен при помощи нового запроса,
в этом запросе серверу будет доступен refresh и он выдаст новый токен
источник

GS

Grigorii K. Shartsev in Vue.js Russian Developers Community
Рафаил Мамедов
получается к refresh у вас вообще нет доступа, она используется полуавтоматически

т.е. вы авторизуетесь,
/login
сервер возвращает access, который вы запихиваете в память (в Store или в http инстанс)
сервер устанавливает http only куку для refresh

/other-request уже будут с access_token в хедерах
далее вариант, что access_token истек
тогда
/other-request вернет 401 коде и вы делаете
далее нужно как-то получить новый токен при помощи нового запроса,
в этом запросе серверу будет доступен refresh и он выдаст новый токен
Можно добавить, что можно не дожидаться 401, а просто запросить заранее, ведь мы знаем, когда он истекает
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Grigorii K. Shartsev
Можно добавить, что можно не дожидаться 401, а просто запросить заранее, ведь мы знаем, когда он истекает
да
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Мне далее не очень ясно
Вот пользователь закрыл браузер, открыл

у него есть только refresh и у него не graphql
делает запрос
/get-protected-content
что должен вернуть этот запрос?
контент + новый access?
тогда получается, что придется какой-то декоратор ко всем обработчикам запросов применять, чтобы «если запрос идет через refresh, то вернуть и контент и новый токен»
не очень ясно
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Grigorii K. Shartsev
Можно добавить, что можно не дожидаться 401, а просто запросить заранее, ведь мы знаем, когда он истекает
вероятно все таки никак
насколько я понимаю последний блок текста посвящен этой проблеме

Can the user continue making authenticated API requests once the SSR page has loaded?
«Nope, not without some additional fiddling around unfortunately!»
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
В общем) я думаю много инфы вам тут.
Refresh в cookie http only
Access в память
безопаснее по всей видимости, но есть некоторые траблики если резюмировать

Всем спасибо)
источник

s

scmutalisk in Vue.js Russian Developers Community
Рафаил Мамедов
В общем) я думаю много инфы вам тут.
Refresh в cookie http only
Access в память
безопаснее по всей видимости, но есть некоторые траблики если резюмировать

Всем спасибо)
локал стор ничем не хуже куков.
оба варианта в теории не безопасны.
а на практике твои и мои сайты никому не нужны.
в плане атак.
так что юзай что тебе удобнее
источник

D

DK in Vue.js Russian Developers Community
F
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
scmutalisk
локал стор ничем не хуже куков.
оба варианта в теории не безопасны.
а на практике твои и мои сайты никому не нужны.
в плане атак.
так что юзай что тебе удобнее
в LS вроде как можно достучаться из JS, а к http only кукам нет
источник

D

DK in Vue.js Russian Developers Community
с http only куками по сути работает только бэк
источник

s

scmutalisk in Vue.js Russian Developers Community
Рафаил Мамедов
в LS вроде как можно достучаться из JS, а к http only кукам нет
и кто будет стучатся?
источник

D

DK in Vue.js Russian Developers Community
scmutalisk
и кто будет стучатся?
любой xss с бэка
источник

GS

Grigorii K. Shartsev in Vue.js Russian Developers Community
Рафаил Мамедов
Мне далее не очень ясно
Вот пользователь закрыл браузер, открыл

у него есть только refresh и у него не graphql
делает запрос
/get-protected-content
что должен вернуть этот запрос?
контент + новый access?
тогда получается, что придется какой-то декоратор ко всем обработчикам запросов применять, чтобы «если запрос идет через refresh, то вернуть и контент и новый токен»
не очень ясно
Он делает запрос или открывает страницу?
Если открывает страницу, то SSR имея рефреш запрашивает аксесс, затем с аксессом получает контент и возвращает контент + новый рефреш
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
scmutalisk
и кто будет стучатся?
ну на случай если кто-то сможет внедрить js на страницу клиента
источник

s

scmutalisk in Vue.js Russian Developers Community
xss работает и с куками точно так же как и с локал стором
источник

D

DK in Vue.js Russian Developers Community
до httponly не достучится,не?
источник