Взять и написать независимую JWT библиотеку или мы легких путей не ищем

Оставить комментарий
Взять и написать независимую JWT библиотеку или мы легких путей не ищем


 

А наша Юля Олецкая говорит: можно! Юля рассказала, как создала свое уникальное решение для аутентификации и авторизации — JWT библиотеку для Ruby — и кому оно может быть полезно.

Юля, привет. Расскажи, как вообще возникла идея библиотеки?

Я работала на проекте, где нужно было создать новую версию API. В новой версии планировать построить API-first приложение, где был бы единообразный процесс аутентификации для JS клиентов и сторонних API-сервисов. Среди рассматриваемых вариантов оказался и JWT. Мы с командой изучили информацию на тему и решили остановиться на этой технологии.

JSON Web Token (JWT) — это открытый стандарт (RFC 7519) для создания токенов доступа, основанный на JSON формате. Как правило, используется для передачи данных авторизации в клиент-серверных приложениях. Токены создаются сервером, подписываются секретным ключом и передаются клиенту, который в дальнейшем использует данный токен для подтверждения своей личности.

Я поняла: есть много статей о JWT, а вот вариантов, которые сразу из коробки дают удобное решение для Ruby, нет. Есть библиотека ruby_jwt, которая шифрует токены согласно спецификации, расшифровывает их, но при этом в самой популярной библиотеке для аутентификации в Ruby on Rails - device, например, нет нативной поддержки JWT. Все, кто использует JWT, стали переходить на новый Auth0 – это такой third-party service, который работает как black box решение. Подписка на него, естественно, платная. И я подумала, что можно было бы создать опен-сорсную библиотеку для Ruby, не привязанную к Rails, которая могла бы предоставить схожий функционал и простую и понятную интеграцию.  

А ты лёгких путей не ищешь (smile)

На самом деле, у нас на проекте были созданы кое-какие наработки, на основе которых можно было сделать полноценное решение, решила попробовать. Код был очень сильно привязан к логике конкретного проекта, к рельсам, поэтому работы предстояло много. В итоге я написала standalone library, которая может использоваться независимо от фреймворка – с Sinatra, Hanami, Trailblazer, просто с Ruby.

И про статью расскажи.

Ну потом ещё написала статью о библиотеке, которая попала на несколько зарубежных ресурсов.

Очень круто! Юль, это ведь широко применимая штука? Может быть полезна всем, кто разрабатывает новый API, так?

Да, любой проект, который строит свой API с использованием JWT, может воспользоваться данной наработкой, она актуальна и для микросервисных архитектур.

Больше подробностей в статье Юли на GitHub - https://github.com/tuwukee/jwt_sessions .

   

  

Хотите сообщить важную новость? Пишите в Телеграм-бот.

А также подписывайтесь на наш Телеграм-канал.

Читайте также

Не изменяя традициям. Летний корпоратив Техниксофт
Не изменяя традициям. Летний корпоратив Техниксофт
Не изменяя традициям. Летний корпоратив Техниксофт
Опрос: Готовы ли вы получать зарплату криптовалютой?
Опрос: Готовы ли вы получать зарплату криптовалютой?
Опрос: Готовы ли вы получать зарплату криптовалютой?
Криптовалюта в ISsoft как новый бонус — ISsoft Blockchain Hackathon
Криптовалюта в ISsoft как новый бонус — ISsoft Blockchain Hackathon
Криптовалюта в ISsoft как новый бонус — ISsoft Blockchain Hackathon
Зачем IBM отказалась от корпоративного «евангелизма»
Зачем IBM отказалась от корпоративного «евангелизма»
Зачем IBM отказалась от корпоративного «евангелизма»

Обсуждение

Комментариев пока нет.
Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже