Конфигурация http сервиса jwt авторизации + клиент React JS

0. 150 04.07.21 11:00 Сейчас в теме
Если мы используем 1С в качестве Back-End для SPA, очень важно реализовать аутентификацию внешних пользователей.
В данной публикации приведен пример конфигурации, реализующей аутентификацию , а также клиент, написанный на React js.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. PROGRAM1S 04.07.21 15:04 Сейчас в теме
Для работы с конфигурацией просит 19 платформу. Есть возможность выложить на 18 платформе?
2. van_za 150 04.07.21 16:18 Сейчас в теме
(1) сейчас установлю режим совместимости с 18 и выложу, там нет использования каких то новейших фишек, просто какая была платформа в той и делал.
3. van_za 150 04.07.21 16:29 Сейчас в теме
Если кто решит развернуть клиент локально для разработки в vs code например то в нужно будет в файле setupProxy.js изменить путь к вашему сервису 1с, он тоже должен быть локально (api и фронтенд должны быть в одном домене что бы 1с могла устанавливать куки)
const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
app.use(
'/api',
createProxyMiddleware({
target: 'http://localhost:80/TaskManagement/hs/api',
changeOrigin: true,
})
);
};
В случае продакшина проксирование нужно делать средствами веб сервера, например так как это описано в
https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc
4. malikov_pro 967 05.07.21 06:04 Сейчас в теме
Еще один шаг к реализации https://github.com/gothinkster/realworld

По JWT нужно указать что это HS256 c использованием статичного ключа на стороне сервера

"очень важно реализовать авторизацию внешних пользователей" - аутентификацию

"Api конфигурации" - postman коллекцией можно реализовать и прогонять тесты (проще чем писать клиент), у realworld http тесты бекенда не проходили при реализации на node.js.
5. van_za 150 05.07.21 09:11 Сейчас в теме
(4) ну как бы да... можно тестирования так не заморачиваться...понятно что для этого не нужна библиотека предназначенная дли визуализации.
вдруг кто то еще работает в связке react + 1c, будет полезно наверное...
6. dkoder 4 22.07.21 14:50 Сейчас в теме
Да связка супер. Только вместо redux, как по мне, лучше использовать MobX State Tree. Технология идеологически ближе к архитектуре 1С. И работать с ней проще.
7. van_za 150 22.07.21 19:54 Сейчас в теме
спасибо за отзыв!

Мне нравится conext появившийся в react, сейчас в основном его использую без отдельных библиотек для состояний.
https://github.com/inzarubin80/btb/blob/master/src/context/

вот что то пишут
https://habr.com/ru/post/489854/ - "Redux против MobX без путаницы"

плюс redux в том что он все таки очень простой... там вроде 80 строк в библиотеке, ну и так сказать создан отечественным программистом:)
минус в том что для работы с асинхронными вызовами (например для запросов на сервер) нужна дополнительная библиотека например react-thunk, ну и громоздкость конструкций
8. dkoder 4 26.07.21 13:01 Сейчас в теме
(7) Уточню. Я говорил не про MobX, а про Mobx State Tree (MST). Использовали его на проектах достаточно крупных интернет магазинов.
Мое мнение, что redux библиотека, и все приходится прописывать руками, особенно, не нравится, что приходится прописывать меппинги в компонентах. А MST ближе к фрейворку. Прописывать нужно гораздо меньше. Структура понятнее. Например, есть товар - он описывается отдельной моделью в MST, и все его реквизиты и методы прописаны в одном файле. Далее в ТЧ заказа делается реквизит с типом товар. При этом очень просто подготовить состояние на back в виде JSON и грузануть в состояние.
Очень похож на известный фреймворк 1С ;)
9. van_za 150 27.07.21 15:25 Сейчас в теме
(8)
Mobx State Tree

буду изучать, спасибо
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Ведущий программист-консультант 1С (УХ)
Москва
зарплата от 250 000 руб. до 250 000 руб.
Полный день

Программист 1С (розница)
Москва
зарплата от 160 000 руб. до 160 000 руб.
Полный день

Архитектор 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 120 000 руб. до 150 000 руб.
Полный день

Администратор 1C
Москва
зарплата до 110 000 руб.
Полный день