Size: a a a

2021 February 26

E

Evgeny in Svelte [svelt]
Собственно мой изначальный вопрос-то был в том, можно ли как-то лучше сделать, чем jwt, при условии, что у нас 5 сервисов, все на разных доменах (включая фронт) и каждый сервис принимает аццесс токен из jwt.
Вот и вся история )
источник

IF

Igor Filippov in Svelte [svelt]
Evgeny
Собственно мой изначальный вопрос-то был в том, можно ли как-то лучше сделать, чем jwt, при условии, что у нас 5 сервисов, все на разных доменах (включая фронт) и каждый сервис принимает аццесс токен из jwt.
Вот и вся история )
Через реверс прокси сделать, так что будет казаться, как будто все на одном домене и сессии заюзать
источник

E

Evgeny in Svelte [svelt]
Как в этом случае будет происходить общение между сервисами? Это их как-то затронет?
источник

IF

Igor Filippov in Svelte [svelt]
Я даже не знаю как они общаются между собой
источник

E

Evgeny in Svelte [svelt]
)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeny
Нет, не так.
jwt  с токеном и рефреш токеном -> jwt в котором есть аццесс и рефреш
что значит не так, я пишу как это придумано и должно работать. это не может быть не так. другое дело что у вас похоже смесь слона с ежом
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
смысл какой вообще хранить в jwt accessToken и refreshToken?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
кроме всего прочего, если jwt ходит по сети туда сюда, то получается туда-сюда хотят в открытом для чтения виде токены, включая рефрешь, по которому можно бесконечно получать новый accessToken. это вообще муть какая-то
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
в схемах accessToken-refreshToken, том же oauth, рефреш получается один раз в первый раз, либо каждый раз при запросе нового accessToken. получая рефреш мы его должны положить в какое-то доверенное хранилище, чтобы при получении ошибки на очередной запрос, например 403, мы могли с помощью рефреш токена, получить новый accessToken взамен просроченного
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
в регулярных запросах ходит только accessToken, потому что его палить относительно безопастно из-за времени жизни.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeny
Собственно мой изначальный вопрос-то был в том, можно ли как-то лучше сделать, чем jwt, при условии, что у нас 5 сервисов, все на разных доменах (включая фронт) и каждый сервис принимает аццесс токен из jwt.
Вот и вся история )
вам тупо не нужен jwt если у вас уже есть accessToken/refreshToken. jwt это вообще технология доверительной передачи куска данных между запросами
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
если микросервисов много, тогда разумно сделать один сервис для авторизации, который будет раздавать пары токенов, а также обновлять их.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
@e_twave вот смотри дефолтный jwt токен:


eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а теперь не поленись и вбей в консоль:


const parts = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM'.split('.');

console.log(JSON.parse(atob(parts[1])));
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
и представь что внутри этого payload не безобидный userId,а accessToken и refreshToken
источник

E

Evgeniy 🍀 in Svelte [svelt]
Pavel 🦇 Malyshev
если микросервисов много, тогда разумно сделать один сервис для авторизации, который будет раздавать пары токенов, а также обновлять их.
можно вообще все сервисы запихнуть в недоступный из веба кластер, а наружу вытащить только нодовский контейнер, для агрегации запросов к разным сервисам, и там же разместить логику авторизации (лучше на нативных серверных сессиях, а то с токенами всегда муть какая-то получается)
источник

ТЗ

Тимур Закриев... in Svelte [svelt]
Всем привет!
Может кто подскажет как подружить eslint и ts в svelte файлах? На этапе сборки ts выдает ошибки в консоль, а eslint предательски отмалчивается что не очень то приятно(
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeniy 🍀
можно вообще все сервисы запихнуть в недоступный из веба кластер, а наружу вытащить только нодовский контейнер, для агрегации запросов к разным сервисам, и там же разместить логику авторизации (лучше на нативных серверных сессиях, а то с токенами всегда муть какая-то получается)
да по всякому можно, но про засовывания токен-пары внутрь jwt слышу впервые
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
не исключено правда, что информация была пересказана не совсем верно
источник

E

Evgeny in Svelte [svelt]
Pavel 🦇 Malyshev
если микросервисов много, тогда разумно сделать один сервис для авторизации, который будет раздавать пары токенов, а также обновлять их.
Ну так и есть. Один сервис для авторизации
источник