
=_=
25.03.2017
21:26:58
сколько вести объект юзера?
это несущественно

Vladimir
25.03.2017
21:27:49
Гораздо лучше просто хранить все данные в БД

=_=
25.03.2017
21:28:03
npm пакеты которые предоставляют сессии на куках хэшируют всё для безопасности

Google

Aleh
25.03.2017
21:28:04
jwt и stateless сессии, нужны если у вас прям много микросервисов
чтобы не тратить время на ходьбу к авторизационному сервису

Vladimir
25.03.2017
21:28:32
Микросервисы не имеют отношения к этому
Ну сколько можно повторять
Микросервисы - это реализация бэкэнда

Aleh
25.03.2017
21:28:56
ну я согласен

Vladimir
25.03.2017
21:28:58
Фронтэнд не обращается к микросервисам напрямую

Aleh
25.03.2017
21:29:05
да
ну точнее он про это не знает

Vladimir
25.03.2017
21:29:20
А jwt это вообще не нужная вещь

Aleh
25.03.2017
21:29:23
может и обращается

Vladimir
25.03.2017
21:29:27

Aleh
25.03.2017
21:29:31
но ему должно быть все равно

Google

Vladimir
25.03.2017
21:29:39
Фронтэнд обращается к gateway

Aleh
25.03.2017
21:29:45
у тебя необязательно должен быть фронт-сервис, который все форвардит

=_=
25.03.2017
21:29:48

Vladimir
25.03.2017
21:29:56

Aleh
25.03.2017
21:29:58
нет
ну зачем?

Vladimir
25.03.2017
21:30:24
Потому что есть вещи, которые нужно сделать на входе с каждым запросом

=_=
25.03.2017
21:30:25
мне как раз нужно запоминать юзера, у меня не REST API а обычное SPA

Aleh
25.03.2017
21:30:35

Vladimir
25.03.2017
21:31:02
Сессия не бывает стейтлесс

Aleh
25.03.2017
21:31:05

Vladimir
25.03.2017
21:31:07
Сессия это и есть стейт

=_=
25.03.2017
21:31:12

Vladimir
25.03.2017
21:31:14

=_=
25.03.2017
21:31:15
согласен

Aleh
25.03.2017
21:31:27

=_=
25.03.2017
21:31:31
хочется спросить тогда а что тогда стейтфул сессии

Aleh
25.03.2017
21:31:33
т.е. естественно она где-то хранится

Vladimir
25.03.2017
21:31:45
Ну это назвается токен, обычно

Aleh
25.03.2017
21:31:47

Google

Aleh
25.03.2017
21:31:49
или в памяти
т.е. либо вся инфа зашита в токен

Vladimir
25.03.2017
21:32:00
А, ты имеешь в виду наоброт

Aleh
25.03.2017
21:32:03
либо по токену можно инфу получить

=_=
25.03.2017
21:32:12
окей понял тебя

Aleh
25.03.2017
21:32:15
первое стейтлес, второе стейтфул

Vladimir
25.03.2017
21:32:44
В jwt смысла вообще никакого нет
Тоже самое что куки: только хуже с безопасностью

Aleh
25.03.2017
21:32:55
он нужен очень редко

Vladimir
25.03.2017
21:33:10
Что он дает по сравнению с куками?

Aleh
25.03.2017
21:33:16

Dmitrii
25.03.2017
21:33:33
jwt гут когда сервис чисто внутренний и можно забить на безопастность

Aleh
25.03.2017
21:33:34

Vladimir
25.03.2017
21:33:36
Логгирование, авторизация, метрки
Куки это способ хранения чего угодно

Aleh
25.03.2017
21:34:06

Vladimir
25.03.2017
21:34:15
Нет, это неправильно

Aleh
25.03.2017
21:34:30
ну в смысле, в разные сервисы разные вещи ходят

Google

Vladimir
25.03.2017
21:34:42
Если это разные сервисы, то ты делаешь много разных сервисов, не связанных между собой

Aleh
25.03.2017
21:34:48
где-то нам нужен токен пользователя, где-то вообще девайса и пользователя, где-то только девайса

=_=
25.03.2017
21:34:50
ребят, итого - есть какие-то реальные минусы менеджить сессию через куки?

Vladimir
25.03.2017
21:34:58
Когда у тебя твое апи сделано в виде разных сервисов - это фейл сразу

Aleh
25.03.2017
21:35:02

=_=
25.03.2017
21:36:09
и еще вопрос, кто-нибудь юзал https://github.com/simov/grant ?

Aleh
25.03.2017
21:36:19

Vladimir
25.03.2017
21:36:31
В общем, все что традиционно называется микросервисной архитектурой, подразумевает единый gateway

Aleh
25.03.2017
21:36:34
если ты поделил на выделенные контексты в рамках которых ходят транзакции, то вполне удобно

Admin
ERROR: S client not available

Vladimir
25.03.2017
21:37:09
Это абсолютно не имеет к микросервисам отношения, это что то другое, про что я никогда не слышал
Микросервисы всегда имеют единый gateway, в первую очередь по тому, что к микросервисам обычно идут от монолита
Постопенно монолит превращается в gateway

Aleh
25.03.2017
21:38:16

Vladimir
25.03.2017
21:38:24
Нет, это приложение
nginx это вообще мелкая деталь инфраструктуры

Aleh
25.03.2017
21:38:42
да, я про это же

=_=
25.03.2017
21:39:03
смотрите вопрос
вот я авторизовался через твиттер

Google

=_=
25.03.2017
21:39:34
мне вот такое приходит
не пойму что мне с этим делать
зачем нужен аксесс токен
и аксесс сикрет

Dmitry
25.03.2017
21:40:22
Юзай токен что бы слать запросы на твиттер

=_=
25.03.2017
21:40:49
а если мне не нужно слать запросы на твиттер, мне просто надо чтобы люди могли залогиниться
через твиттер
я просто не до конца понимаю как это работает
я делал авторизацию свою раньше
тут всё понятно - создаешь пользователя сохраняаешь в базу

Dmitry
25.03.2017
21:41:51
Ну так тебе пришел токен, по которому ты можешь получить почту юзера или просто использовать его Твиттер ид

=_=
25.03.2017
21:41:52
потом при логине сверяешь пароли если совпал берешь этого юзера

Aleh
25.03.2017
21:42:30
Это абсолютно не имеет к микросервисам отношения, это что то другое, про что я никогда не слышал
смотри про что я: каждый микросервис это свой модуль, его связь(каплинг) с остальными должен быть минимален, иначе вообще нафига он нужен. Во вторых он должен сам мочь провести транзакцию, при этом синхронно с точки зрения клиента. У него могут быть какие-то побочки, которые выполнятся в будущем, обычно как раз через другие сервисы. В идеале микросервис это свой bounded context, в рамках которого живут связанные агрегаты, которые и являются границами транзакции

=_=
25.03.2017
21:43:04
т.е. как мне например сохранять записи в базе ассоциированные с этим юзером

Vladimir
25.03.2017
21:43:04
Да, но все это в рамках бэкэнда

=_=
25.03.2017
21:43:23
мне все равно нужно в своей таблице юзеров создать для него запись

Vladimir
25.03.2017
21:43:27
Все обращаения клиента имеют повышенные требования к авторизации, валидации, и т д

Aleh
25.03.2017
21:43:30

=_=
25.03.2017
21:43:31
правильно?

Vladimir
25.03.2017
21:43:35
Обязательно

Dmitry
25.03.2017
21:43:40

Aleh
25.03.2017
21:43:46
не могу понять почему тогда