Size: a a a

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

2020 December 28

YK

Yury Khmarin in React — русскоговорящее сообщество
Vladislav
Вообщем, когда я авторизовываюсь у меня на бекенде создается токен, я его посылаю клиенту, чтобв сохранить в localstorage. В итоге, если в localstorage есть какие-то данные про авторизацию, то авториазцию выводить нет смысла. Суть вопроса такова: как  мне свериться с токеном, что на фронтенде и бекендом. То есть вопрос больше про бекенд, типо как достать этот токен из бэка. Или токен может быть только 1 и он проверяется через verify токена, который идет из клиента (уже созданный) ?
exports.requireSignin = expressJwt({  // only logged user can apply middleware
 secret: process.env.JWT_SECRET, algorithms: ['HS256']
})
exports.authMiddleware = (req, res, next) => {
 const authUserId = req.user._id;
 User.findById({ _id: authUserId }).exec((err, user) => {
   if (err || !user) {
     return res.status(400).json({
       error: 'User not found'
     });
   }
   req.profile = user;
   next();
 });
};
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Анастасия Титова
т.е. эта ссылка которая создается она нигде не появится в принципе. это просто такой невидимый элемент необходимый для скачивания?
const url = window.URL.createObjectURL(data)
const link = document.createElement('a')
link.href = url
link.setAttribute('download', 'organizations_export.xls')
document.body.append(link)
link.click()
link.remove()

Эта ссыылка нужна лишь для того что б инициировать скачивание файла (иначе в js пока никак в браузере) и она нигде и никода не отрисовывается в DOM (можно так условно считать так как она сразу ремувается)
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Vladislav
Вообщем, когда я авторизовываюсь у меня на бекенде создается токен, я его посылаю клиенту, чтобв сохранить в localstorage. В итоге, если в localstorage есть какие-то данные про авторизацию, то авториазцию выводить нет смысла. Суть вопроса такова: как  мне свериться с токеном, что на фронтенде и бекендом. То есть вопрос больше про бекенд, типо как достать этот токен из бэка. Или токен может быть только 1 и он проверяется через verify токена, который идет из клиента (уже созданный) ?
ты хочешь залезть внутрь jwt? там какой-нибудь алгоритм криптования, который знать нет смысла. Сверяются, да - именно verify
источник

V

Vladislav in React — русскоговорящее сообщество
Elisey Martynov
ты хочешь залезть внутрь jwt? там какой-нибудь алгоритм криптования, который знать нет смысла. Сверяются, да - именно verify
Та нет xD
источник

V

Vladislav in React — русскоговорящее сообщество
Если кто-то работал с PHP сессиями, то я про это
источник

V

Vladislav in React — русскоговорящее сообщество
типо достать данные по ключу, в данном случае по payload
источник

СМ

Стас М in React — русскоговорящее сообщество
Приветствую.

Подскажите пжл, насколько важно использовать контейнерные компоненты и формирующие визуал в react?
А то я так до конца не понял, можно ли от этого отступать? По идее, если проект несложный, отступление от этого правила не должно вызвать проблем с тестированием, проблем с мутациями и т. п.

Я прав?
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
Vladislav
типо достать данные по ключу, в данном случае по payload
const expressJwt = require('express-jwt')
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Vladislav
Та нет xD
Ты не можешь узнать какой токен придет клиенту с серверной стороны. Ты должен сделать запрос с фронта, бэк в ответ отдает токен. Сохраняешь его на фронте. С фронта в каждом запросе пихаешь этот токен. Из req параметра достаешь его и сверяешь через verify. Если не прошла валидация - дропаешь ошибку. Все.
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Стас М
Приветствую.

Подскажите пжл, насколько важно использовать контейнерные компоненты и формирующие визуал в react?
А то я так до конца не понял, можно ли от этого отступать? По идее, если проект несложный, отступление от этого правила не должно вызвать проблем с тестированием, проблем с мутациями и т. п.

Я прав?
1. не важно
2. нужно
3. прав
источник

СМ

Стас М in React — русскоговорящее сообщество
Dmitriy Shuleshov
1. не важно
2. нужно
3. прав
Благодарю.
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Стас М
Благодарю.
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
Это оригинальная статья подхода, читайте дисклеймер
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Стас М
Приветствую.

Подскажите пжл, насколько важно использовать контейнерные компоненты и формирующие визуал в react?
А то я так до конца не понял, можно ли от этого отступать? По идее, если проект несложный, отступление от этого правила не должно вызвать проблем с тестированием, проблем с мутациями и т. п.

Я прав?
Подход Ок, просто его надо применять, как и все остальное, осмысленно, а не для каждого компонента
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
Подход Ок, просто его надо применять, как и все остальное, осмысленно, а не для каждого компонента
не ок если проект уже на хуках
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Dmitriy Shuleshov
не ок если проект уже на хуках
А если компонент должен быть переиспользуемым и не прибитым гвоздями (хуками) к одному и тому же источнику данных?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Vladimir Klimov
А если компонент должен быть переиспользуемым и не прибитым гвоздями (хуками) к одному и тому же источнику данных?
хуки это и есть di для компонентов. Те в общем случае - прибивать  этот компонент хуками по месту использования
источник

А

Александр in React — русскоговорящее сообщество
Vladimir Klimov
А если компонент должен быть переиспользуемым и не прибитым гвоздями (хуками) к одному и тому же источнику данных?
Просто передаешь селекторы через пропсы и всё
источник

YK

Yury Khmarin in React — русскоговорящее сообщество
Vladislav
Та нет xD
Посмотри курс MERN React Node Next.js Multi User SEO Blogging Platform . Автор курса жёсткий индусский гавнокодер, но на твой вопрос он отвечает сполна, там про токены всё понятно становится)
источник

EM

Elisey Martynov in React — русскоговорящее сообщество
Yury Khmarin
Посмотри курс MERN React Node Next.js Multi User SEO Blogging Platform . Автор курса жёсткий индусский гавнокодер, но на твой вопрос он отвечает сполна, там про токены всё понятно становится)
Название ух прям
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Elisey Martynov
ты хочешь залезть внутрь jwt? там какой-нибудь алгоритм криптования, который знать нет смысла. Сверяются, да - именно verify
Ага, base64)
источник