Использование экспресс-сессии с собственным мобильным клиентом iOS - PullRequest
0 голосов
/ 15 октября 2018

Я создаю экспресс-сервер, который будет использоваться с собственным мобильным клиентом iOS. Пользователи приложения смогут формировать «вечеринки» с другими пользователями, а пользователи в пределах одной и той же стороны смогут общаться друг с другом.via socket.io.

Я хочу включить сеансы, чтобы 1) я мог иметь постоянный вход в систему на своем веб-интерфейсе и 2) хранить user.party_id внутри сеанса, чтобы для конкретного пользователя у меня всегда был доступ кего вечеринка.Если пользователь покидает вечеринку, то req.session.party_id будет установлен на null.

Возможно ли использовать экспресс-сессию с собственным мобильным клиентом?Я бы предположил, что все, что нужно сделать клиенту, это установить заголовок cookie для каждого запроса.Затем сервер считывает идентификатор cookie и получает доступ к сеансу пользователя.Есть ли недостатки использования сеанса с нативными мобильными клиентами?

Есть ли недостатки этого подхода?Кто-то предложил мне вместо этого установить JWT в качестве заголовка авторизации, и при каждом запросе использовать этот заголовок для поиска пользователя и party_id.Этот подход кажется переизобретением сессии.

1 Ответ

0 голосов
/ 16 октября 2018

Проверьте Swift: Как запомнить файлы cookie для дальнейших запросов http для получения информации о том, как сохранить файл cookie / файл cookie сеанса.

Что касается JWT против сессионных файлов cookie, они служат аналогичным целям.Сегодня JWT более широко используется, поскольку позволяет иметь несколько серверов, которые обрабатывают запросы API (т. Е. Горизонтальное масштабирование или архитектура без серверов) и более отказоустойчивы (т. Е. Все еще работают, даже если сервер перезагружается).В зависимости от ваших потребностей, возможно, стоит взглянуть на JWT.

...