JWT — один из наиболее широко используемых методов аутентификации API, обеспечивающий безопасный, масштабируемый способ проверки клиентов без сохранения состояния.
Как работает JWT:
1) Аутентификация клиента
Клиент (пользователь, приложение или устройство) предоставляет учетные данные (например, имя пользователя/пароль) серверу аутентификации.
2) Проверка сервера
Сервер аутентификации проверяет учетные данные по своей базе данных или поставщику удостоверений, чтобы подтвердить их действительность.
3) Выпуск JWT
Если аутентификация прошла успешно, сервер:
☑️ Генерирует JWT с подтверждениями (например, идентификатор пользователя, роли, разрешения).
☑️ Подписывает JWT с помощью секретного ключа (HS256) или закрытого ключа (RS256).
4) Доставка токенов
Сервер отправляет подписанный JWT обратно клиенту в ответе.
5) Безопасное хранение
Клиент хранит JWT в безопасности, чтобы предотвратить несанкционированный доступ. HTTP-cookie-файлы являются наиболее безопасным и широко используемым методом.
6) API-запросы с JWT
Для каждого запроса к защищенному API клиент включает JWT в заголовок авторизации:
7) Сервер проверяет JWT
Перед предоставлением доступа сервер API проверяет JWT, проверяя следующие аспекты:
☑️ Подпись – подтверждает целостность токена (не подделан).
☑️ Истечение срока действия — гарантирует, что срок действия токена не истек.
☑️ Аудитория (заявление aud) — проверяет, предназначен ли токен для этого API.
☑️ Эмитент (заявление iss) — подтверждает, что токен был выпущен доверенным органом.
Если JWT действителен, сервер предоставляет доступ к запрошенному ресурсу. В противном случае он отклоняет запрос (401 Unauthorized).
8) Истечение срока действия токена и обновление
Поскольку срок действия JWT истекает по соображениям безопасности, клиенту необходим токен обновления (refresh token), чтобы получить новый:
↳ Клиент отправляет токен обновления на сервер.
↳ Сервер проверяет и выдает новый JWT, если токен обновления действителен.
↳ Новый JWT заменяет просроченный, и клиент продолжает делать запросы.
Подобный рабочий процесс обеспечивает безопасную, эффективную и не зависящую от состояния аутентификацию для API, контролируя производительность и масштабируемость.
Как работает JWT:
1) Аутентификация клиента
Клиент (пользователь, приложение или устройство) предоставляет учетные данные (например, имя пользователя/пароль) серверу аутентификации.
2) Проверка сервера
Сервер аутентификации проверяет учетные данные по своей базе данных или поставщику удостоверений, чтобы подтвердить их действительность.
3) Выпуск JWT
Если аутентификация прошла успешно, сервер:
☑️ Генерирует JWT с подтверждениями (например, идентификатор пользователя, роли, разрешения).
☑️ Подписывает JWT с помощью секретного ключа (HS256) или закрытого ключа (RS256).
4) Доставка токенов
Сервер отправляет подписанный JWT обратно клиенту в ответе.
5) Безопасное хранение
Клиент хранит JWT в безопасности, чтобы предотвратить несанкционированный доступ. HTTP-cookie-файлы являются наиболее безопасным и широко используемым методом.
6) API-запросы с JWT
Для каждого запроса к защищенному API клиент включает JWT в заголовок авторизации:
Authorization: Bearer<JWT> 7) Сервер проверяет JWT
Перед предоставлением доступа сервер API проверяет JWT, проверяя следующие аспекты:
☑️ Подпись – подтверждает целостность токена (не подделан).
☑️ Истечение срока действия — гарантирует, что срок действия токена не истек.
☑️ Аудитория (заявление aud) — проверяет, предназначен ли токен для этого API.
☑️ Эмитент (заявление iss) — подтверждает, что токен был выпущен доверенным органом.
Если JWT действителен, сервер предоставляет доступ к запрошенному ресурсу. В противном случае он отклоняет запрос (401 Unauthorized).
8) Истечение срока действия токена и обновление
Поскольку срок действия JWT истекает по соображениям безопасности, клиенту необходим токен обновления (refresh token), чтобы получить новый:
↳ Клиент отправляет токен обновления на сервер.
↳ Сервер проверяет и выдает новый JWT, если токен обновления действителен.
↳ Новый JWT заменяет просроченный, и клиент продолжает делать запросы.
Подобный рабочий процесс обеспечивает безопасную, эффективную и не зависящую от состояния аутентификацию для API, контролируя производительность и масштабируемость.
👍16💅3🔥2👏2
От владельцев сайтов требуют получать у Роскомнадзора разрешение на использование Google Analytics
Роскомнадзор стал уведомлять владельцев интернет-сайтов о том, что использование ими счетчика посещений Google Analytics приравнивается в трансграничной передаче данных. О запрете использования данного счетчика речь не идет, но его необходимо деактивировать и получать разрешение на использование.
https://www.cnews.ru/news/top/2025-03-10_ot_vladeltsev_sajtov_trebuyut
Роскомнадзор стал уведомлять владельцев интернет-сайтов о том, что использование ими счетчика посещений Google Analytics приравнивается в трансграничной передаче данных. О запрете использования данного счетчика речь не идет, но его необходимо деактивировать и получать разрешение на использование.
https://www.cnews.ru/news/top/2025-03-10_ot_vladeltsev_sajtov_trebuyut
CNews.ru
От владельцев сайтов требуют получать у Роскомнадзора разрешение на использование Google Analytics - CNews
Роскомнадзор стал уведомлять владельцев интернет-сайтов о том, что использование ими счетчика посещений Google Analytics приравнивается в трансграничной передаче данных. О запрете использования...
🤡12😐12🤯3😁2
Зоопарк протоколов API
🔹 SOAP:
Зрелый, всеобъемлющий протокол, основанный на XML,
лучше всего подходит для корпоративных приложений
🔹 RESTful:
Популярный и простой в реализации, базируется на методах HTTP
Идеально подходит для веб-сервисов
🔹 GraphQL:
Язык запроса, запрашивает определенные данные
Снижает нагрузку на сеть, ускоряет отклик
🔹 gRPC:
Современныq, высокопроизводительный способ взаимодействия, использует формат данных Protocol Buffers
Подходит для архитектур микросервисов
🔹 WebSocket:
Двунаправленные, постоянные соединения в режиме реального времени
Идеально подходит для обмена данными с малой задержкой
🔹 Webhook:
Управляемый событиями, асинхронный, использует обратные вызовы HTTP
Уведомляет системы о возникновении событий
🔹 SOAP:
Зрелый, всеобъемлющий протокол, основанный на XML,
лучше всего подходит для корпоративных приложений
🔹 RESTful:
Популярный и простой в реализации, базируется на методах HTTP
Идеально подходит для веб-сервисов
🔹 GraphQL:
Язык запроса, запрашивает определенные данные
Снижает нагрузку на сеть, ускоряет отклик
🔹 gRPC:
Современныq, высокопроизводительный способ взаимодействия, использует формат данных Protocol Buffers
Подходит для архитектур микросервисов
🔹 WebSocket:
Двунаправленные, постоянные соединения в режиме реального времени
Идеально подходит для обмена данными с малой задержкой
🔹 Webhook:
Управляемый событиями, асинхронный, использует обратные вызовы HTTP
Уведомляет системы о возникновении событий
👍18❤4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Выступая на форуме "Council on Foreign Relations", Дарио Амодей, CEO Anthropic, одной из главных AI-компаний в мире, сделал несколько важных заявлений про рост популярности разработки при помощи ИИ в обозримом будущем.
Выдержка из его выступления: "У меня есть изрядная доля беспокойства по этому поводу. Если я посмотрю на кодирование, программирование, которые являются одной из областей, где ИИ делает наибольший прогресс, то мы обнаруживаем, что мы не так уж далеки от мира, где, как я думаю, через три-шесть месяцев мы будем там, где ИИ будет писать 90% кода. А затем через 12 месяцев мы можем оказаться в мире, где ИИ будет писать по сути весь код."
Выдержка из его выступления: "У меня есть изрядная доля беспокойства по этому поводу. Если я посмотрю на кодирование, программирование, которые являются одной из областей, где ИИ делает наибольший прогресс, то мы обнаруживаем, что мы не так уж далеки от мира, где, как я думаю, через три-шесть месяцев мы будем там, где ИИ будет писать 90% кода. А затем через 12 месяцев мы можем оказаться в мире, где ИИ будет писать по сути весь код."
🤡41🤔7😁3🤣3💊2❤1👍1🕊1
Microsoft анонсировал портирование TypeScript на Go. Переход на Go показывает двухкратное уменьшение использования памяти и десятикратное улучшение скорости работы!
Go оказался наилучшим вариантом для порта по ряду факторов:
-он достаточно низкоуровневый и в целом всегда использовался для произодительных приложений
-на него лучше всего ложится текущий код TS, который содержит огромное количество рекурсивных данных
-он очень кроссплатформенный
Переписывание 80% функционала (на данный момент) заняло полгода (началось в августе 2024). Некоторые вещи еще не поддерживаются и потребуют еще пару лет. Это важно для больших существующих продуктов,
но новые проекты или проекты без использования каких-то менее популярных фич TS смогут использовать новый компилятор уже до конца года
Кодовая база на основе JS продолжит развиваться в серии 6.x (текущая версия - 5.8), а TypeScript 6.0 представит некоторые устаревшие и критические изменения для соответствия будущей собственной кодовой базе.
Когда собственная кодовая база на Go достигнет достаточного паритета с текущим TypeScript в выпуске TypeScript 7.0.
https://devblogs.microsoft.com/typenoscript/typenoscript-native-port/
#typenoscript #ts
Go оказался наилучшим вариантом для порта по ряду факторов:
-он достаточно низкоуровневый и в целом всегда использовался для произодительных приложений
-на него лучше всего ложится текущий код TS, который содержит огромное количество рекурсивных данных
-он очень кроссплатформенный
Переписывание 80% функционала (на данный момент) заняло полгода (началось в августе 2024). Некоторые вещи еще не поддерживаются и потребуют еще пару лет. Это важно для больших существующих продуктов,
но новые проекты или проекты без использования каких-то менее популярных фич TS смогут использовать новый компилятор уже до конца года
Кодовая база на основе JS продолжит развиваться в серии 6.x (текущая версия - 5.8), а TypeScript 6.0 представит некоторые устаревшие и критические изменения для соответствия будущей собственной кодовой базе.
Когда собственная кодовая база на Go достигнет достаточного паритета с текущим TypeScript в выпуске TypeScript 7.0.
https://devblogs.microsoft.com/typenoscript/typenoscript-native-port/
#typenoscript #ts
Microsoft News
A 10x Faster TypeScript
Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.
🔥9❤2😁2🤯2👏1
В .NET-сообществе воцарилось разочарование от того, что Microsoft выбрал для TypeScript портирование на Go, на не C#, который продвигается и развивается тем же Microsoft и создателем которого является Андерс Хейлсберг, который руководит разработкой TS.
Как отмечается, также рассматривались варианты с использованием C# и Rust. Но, видимо, c Go оказалось проще достичь нужной производительности
#golang #csharp #dotnet
Как отмечается, также рассматривались варианты с использованием C# и Rust. Но, видимо, c Go оказалось проще достичь нужной производительности
#golang #csharp #dotnet
🤬24😁5🔥2🤯2🤨2
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно как работает процессор
Вручную опробовать можно здесь: https://eseo-tech.github.io/emulsiV/
Вручную опробовать можно здесь: https://eseo-tech.github.io/emulsiV/
👍19🔥6❤🔥3👀3❤1
В начале марта 2025 года Международная некоммерческая организация ICANN («Корпорация по управлению доменными именами и IP-адресами», Internet Corporation for Assigned Names and Numbers) объявила о планах поэтапного прекращения использования к 2030 году домена .su, представляющего бывший Советский Союз.
В настоящее время в пространстве .su зарегистрировано около 100 тыс. доменных имён, и этот ресурс все ещё остаётся доступным для новых регистраций. Домен управляется Российским институтом развития общественных сетей.
https://domainnamewire.com/2025/03/11/icann-moves-to-retire-soviet-era-su-country-domain-name/
В настоящее время в пространстве .su зарегистрировано около 100 тыс. доменных имён, и этот ресурс все ещё остаётся доступным для новых регистраций. Домен управляется Российским институтом развития общественных сетей.
https://domainnamewire.com/2025/03/11/icann-moves-to-retire-soviet-era-su-country-domain-name/
Domain Name Wire | Domain Name News
ICANN moves to retire Soviet-era .SU country domain name - Domain Name Wire | Domain Name News
Domain system overseer plans to retire .su in 2030. ICANN has notified the operator of the legacy Soviet Union country code domain, .su, of its plans to retire the domain in five years, Domain Name Wire has learned. The .su namespace, which remains open for…
🤬13😭7👍6🤨4👏1
«Сбер» представил нейросетевую модель GigaChat 2.0. Весь модельный ряд вариантов большой языковой модели Сбербанка GigaChat 2.0 получил значительный апгрейд. Так,
GigaChat 2 MAX стал мощнее и опережает зарубежные аналоги в задачах на русском языке. GigaChat 2 Pro сохраняет качество предыдущей версии MAX, но менее требовательна к ресурсам. GigaChat 2 Lite теперь сравнима с предыдущей версией Pro и быстрее решает сложные задачи.
Как следует из данных бенчмарка MERA для русского языка, модель «Сбера» GigaChat 2 MAX занимает первое место среди AI-моделей, а в международных бенчмарках обновлённый модельный ряд превосходит по многим показателям GPT4o, DeepSeek-V3, LLaMA 70B и Qwen2.5.
https://www.sberbank.com/ru/news-and-media/press-releases/article?newsID=50dce36e-befd-431d-9633-6e19ed7a1a76&blockID=7®ionID=512&lang=ru&type=NEWS
GigaChat 2 MAX стал мощнее и опережает зарубежные аналоги в задачах на русском языке. GigaChat 2 Pro сохраняет качество предыдущей версии MAX, но менее требовательна к ресурсам. GigaChat 2 Lite теперь сравнима с предыдущей версией Pro и быстрее решает сложные задачи.
Как следует из данных бенчмарка MERA для русского языка, модель «Сбера» GigaChat 2 MAX занимает первое место среди AI-моделей, а в международных бенчмарках обновлённый модельный ряд превосходит по многим показателям GPT4o, DeepSeek-V3, LLaMA 70B и Qwen2.5.
https://www.sberbank.com/ru/news-and-media/press-releases/article?newsID=50dce36e-befd-431d-9633-6e19ed7a1a76&blockID=7®ionID=512&lang=ru&type=NEWS
Sberbank
Сбер представляет GigaChat 2.0 – сильнейшую нейросетевую модель на русском языке
Все пресс-релизы СберБанка. СберБанк предоставляет полный спектр банковских продуктов — кредиты, вклады, ипотека, дебетовые и кредитные карты. Банковские услуги для физических и юридических лиц.
👍10🥱4🔥2👏1
Добавленные новые материалы в руководстве по GTK и языку С
Статья про модель GListStore и ее связь со списком GtkListView
https://metanit.com/c/gtk/3.6.php
Статья про виджет GtkListView, модели выбора и фабрики элементов списка
https://metanit.com/c/gtk/3.5.php
Глава про реализацию GObject структурами на С
https://metanit.com/c/gtk/4.1.php
#c_ansi #gtk
Статья про модель GListStore и ее связь со списком GtkListView
https://metanit.com/c/gtk/3.6.php
Статья про виджет GtkListView, модели выбора и фабрики элементов списка
https://metanit.com/c/gtk/3.5.php
Глава про реализацию GObject структурами на С
https://metanit.com/c/gtk/4.1.php
#c_ansi #gtk
Metanit
GTK и C | Модель GListStore
Хранилище объектов GListStore и его привязка к виджету списка GtkListView в приложении на GTK на языке программирования C
👍10❤3❤🔥2🔥2