Рубрики
Без рубрики

👑 Создайте безопасное приложение чата с помощью реактивных крюков, Firebase и запечатаны 🔐

Привет ребята ! 👋 Сегодня давайте рассмотрим небольшое приложение в чате, разработанное с помощью реактивных крюков, Firebase A … Теги от реагирования, JavaScript, Showdev, Firebase.

Привет ребята ! 👋

Сегодня давайте рассмотрим небольшое приложение в чате с Реактивные крюки , Firebase и новый пакет имени Средний Действительно 🔥

Цель этой статьи – представить вам SDK SDK и как этот маленький пакет может быть очень эффективным с точки зрения безопасности для ваших приложений!

Конечное шифрование неструктурированных данных могут быть сложными и дорогими для перестройки, необходимы для защиты конфиденциальных данных ваших приложений. С Средний СДК Мы выполняем сквозное шифрование на хранимых данных, созданных или принятых вашим приложениям.

Давайте возьмем пример с Приложение чата Действительно 💪.

Структура нашего приложения чата 🧰

Выше это Демонация нашего приложения чата В реакции с концерующей системой шифрования, включая несколько особенностей:

🟢 Создать комнату 🟢 Добавить/удалить пользователей из комнаты 🟢 Изменить комнату 🟢 Регистрация/логин 🟢 Состояние пользователя 🟢 Шифрация и расшифровка сообщения

Основные используемые инструменты:

Firebase , готовый к использованию Framework, которая позволяет нам создавать постоянную систему аутентификации, сохранить наши зашифрованные сообщения в базе данных и мгновенно получать их, когда пользователь поставляет новое сообщение.

Реагировать Что будет нашей библиотекой Frontend для выполнения и дизайна простых представлений для каждого состояния в нашем приложении.

Средний С Библиотека под ключ Мы будем использовать, чтобы принести шифрование в конечном итоге в чате.

Система аутентирования 👨💻.

Только 3 пути для нашего чата приложения с аутентификацией. Регистрация , авторизоваться и Управление комнатами Отказ

Мы определяем, допускаем ли маршруты для аутентифицированных пользователей или нет.

Деривация пароля 🔏.

Обычно мы бы отправим Firebase пароль в ClearText, а затем Firebase будет получать его с безопасной функцией, такой как Scrypt Чтобы избежать его в базе данных.

В нашем случае мы хотим предотвратить всю услугу Firebase для чтения пароля, даже если он не сохраняется, потому что мы собираемся использовать его для защиты Средняя идентичность конец-2-конце (даже из Firebase).

Чтобы сделать это, мы просто делаем ту же операцию Firebase, но до Давая ему Firebase: мы имеем пароль с безопасной функцией ( Scrypt ), а затем используйте его в качестве пароля.

Зарегистрироваться 👤.

Чтобы создать пользователь в этом приложении, достаточно простая форма, содержащая 3 поля:

Зарегистрироваться код

Ничто не очень сложное в коде. Мы просим Firebase создать аутентификацию через электронную почту и пароль, предоставленный пользователем.

А также добавить некоторую информацию о пользователе, как имя и URL фото.

Затем мы добавляем запечатанный слой приложений для создания ваших будущих зашифрованных сообщений.

Войти 👤.

Затем логин. Классическая форма ( Email / Пароль ) Для доступа к номерам и уметь общаться с другими пользователями.

Так же, как на регистрацию. Мы извлекаем Аутентификация Firebase пользователя и его Средний счет .

Комнаты 👨👩👦👦.

Вот где происходит интересная часть.

На этом приложении можно Чат через 1-1 с другим пользователем, но и для Чат с группой пользователей в пользовательской комнате.

Создать комнату 🧸

Давайте расскажем этот код вместе:

  • Во-первых, мы отправляем данные формы в Firebase . Имя комнаты и выбранные пользователи обязательны.

  • Затем мы создаем зашифрованную сессию, используя Средний СДК Отказ Это позволит шифровать и расшифровать сообщение для этой комнаты.

  • И, наконец, мы хотим отправить первое зашифрованное сообщение, чтобы приветствовать пользователям этой комнаты.

Отправить зашифрованные сообщения 🔏

Теперь давайте пообщаться! Но помните, мы хотим Конечное шифрование для сообщений.

Перед каждым созданным сообщением нам необходимо проверить, есть ли у нас аутентифицированный сеанс SELD. Если нет, создайте этот сеанс с SDK 🔒.

Затем сеанс позволяет шифровать строку, которая является нашим сообщением.

Алиса 👩 Отправляет сообщение на Боб 👨.

"Hello my friend"

Мы называем метод шифровать Для нашего сообщения выше:

Сообщение станет

"{\"sessionId\":\"NazDAYyuRw2lDKS0VaianA\",\"data\":\"8RwaOppCD3uIJVFv2LoP3XGXpomj0xsMv4qmMVy30Vdqor2w0+DVCXu3j13PEyN2KfJm6SiSrWDRMDziiiOUjQ==\"}"

Теперь Боб-👨 (а другие пользователи комнаты) надо расшифровать сообщение Alice 👩 Отказ Как мы можем сделать это ?

Расшифрованные сообщения 🔐.

Теперь, когда мы знаем, как отправить зашифрованное сообщение, давайте посмотрим, как восстановить сообщение мгновенно и расшифровать его для других пользователей.

Мы используем ценность Мероприятие, чтобы прочитать наши сообщения, как они существовали во время мероприятия. Этот метод Срабатывает один раз, когда слушатель прикреплен и снова каждый раз, когда данные, включая детей, изменения.

Узнайте больше о Чтение и запись данных с Firebase 📂.

Мы извлекаем наш список сообщений каждый раз, когда добавляется сообщение. Таким образом, зашифрованное сообщение отображается, но теперь нам нужно иметь возможность расшифровать его:

Боб 👨 на самом деле видит :

"{\"sessionId\":\"NazDAYyuRw2lDKS0VaianA\",\"data\":\"8RwaOppCD3uIJVFv2LoP3XGXpomj0xsMv4qmMVy30Vdqor2w0+DVCXu3j13PEyN2KfJm6SiSrWDRMDziiiOUjQ==\"}"

Мы называем метод расшифровать Для нашего зашифрованного сообщения выше:

Боб 👨 теперь посмотришь :

"Hello my friend"

Теперь у нас есть общение в реальном времени с концевой системой шифрования 💪

Примечание: использовать SDK SWDK, перейдите в Seold.io Отказ

Воил

Ура 🍻 🍻 🍻 🍻

Если вам понравилось эту статью, вы можете следовать за мной на Twitter Или здесь на dev.to. Где я регулярно публикую советы по размеру кусания, относящиеся к HTML, CSS и JavaScript.

🤝 Обещание. ASLSETTELD () против обещания. Все () в JavaScript 🍭

Victor de la Fhouchardière · 16 августа20 · 2 мин. читать

📦 Профиль GitHub: правильный путь, чтобы показать последние события Dev + Bonus 🎁

Victor de la Fhouchardière · 5 августа20 · 4 мин. читать

Оригинал: “https://dev.to/viclafouch/create-a-secure-chat-application-with-react-hooks-firebase-and-seald-2bc1”