github.com/mdigger/jwt (go): Package jwt предоставляет возможности для удобного создания и проверки токенов в формате JWT.  Поддерживаются алгоритмы HS256, RS256 и ES256.  Делалось исключительно для себя и подход принципиально отличается от большинства существующих библиотек для работы с JWT: в первую очередь я пытался облегчить работу с токенами по типичному сценарию. Специально для генерации большого количества однотипных токенов сделан класс jwt.Config, который позволяет описать основные поля и временные метки токена, а потом быстро создавать токены, передавая только дополнительные данные.  Кроме того, мне очень не понравился подход в других библиотеках по созданию разных объектов для подписи разными алгоритмами, а особенно их "многословность". Здесь все просто: ключ абстрактного формата, а при генерации подписи автоматически используется подходящий алгоритм. Благодаря этому подходу все вспомогательные классы просто скрыты и не пугают выбором и настройкой.  Так же в библиотеку добавлены некоторые вспомогательные функции, которые могут пригодиться при работе с токенами:  - Time для разбора и представления времени в виде числа, а не строки;  - JSON для быстрого описания полей токена, когда не хочется создавать специально для этого структуру с описанием полей;  - NewRS256Key() и NewES256Key() для быстрой генерации ключей в формате RSA и ECDSA;  - Nonce() для генерации случайных строковых последовательностей заданной длины;  - Keys для работы со списками публичных ключей в формате JWKS.
Keywords: jwkset|jwt|jwt-auth|jwt-token