Skip to content

Support loading jwk from json#6

Draft
kleinmrk wants to merge 93 commits into
masterfrom
support-loading-jwk-from-json
Draft

Support loading jwk from json#6
kleinmrk wants to merge 93 commits into
masterfrom
support-loading-jwk-from-json

Conversation

@kleinmrk
Copy link
Copy Markdown
Owner

@kleinmrk kleinmrk commented Mar 7, 2022

No description provided.

@kleinmrk kleinmrk force-pushed the support-loading-jwk-from-json branch from 8c82cc2 to 3241aef Compare March 18, 2022 19:27
@coveralls
Copy link
Copy Markdown

coveralls commented Mar 18, 2022

Pull Request Test Coverage Report for Build 3170089274

  • 124 of 163 (76.07%) changed or added relevant lines in 1 file are covered.
  • 2 unchanged lines in 1 file lost coverage.
  • Overall coverage decreased (-2.9%) to 93.569%

Changes Missing Coverage Covered Lines Changed/Added Lines %
include/jwt-cpp/jwt.h 124 163 76.07%
Files with Coverage Reduction New Missed Lines %
include/jwt-cpp/jwt.h 2 93.66%
Totals Coverage Status
Change from base Build 3168754921: -2.9%
Covered Lines: 1164
Relevant Lines: 1244

💛 - Coveralls

@kleinmrk kleinmrk force-pushed the support-loading-jwk-from-json branch 4 times, most recently from 6482b90 to 5f89409 Compare March 18, 2022 23:50
@kleinmrk kleinmrk force-pushed the support-loading-jwk-from-json branch 3 times, most recently from 9b957dc to e516be9 Compare April 3, 2022 21:43
@kleinmrk kleinmrk force-pushed the support-loading-jwk-from-json branch from 6e36d68 to abbd94f Compare October 2, 2022 15:53
@kleinmrk kleinmrk force-pushed the support-loading-jwk-from-json branch from abbd94f to 55b5b14 Compare October 2, 2022 21:02
sjanel and others added 9 commits October 3, 2022 11:01
…nt instead (Thalhammer#254)

* Do not embed nlohmann::json directly, use find_package / FetchContent instead

* Clea up traits workflow

Headers are no longer vendored

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
* remove exception outside of error namespace

* linter
* 📤 Use nlohmann_json tar release

This avoids downloading the whole git repository and restricts the download
to the pieces that are actually important, saving time and traffic.
Hides API changes between older OpenSSL versions behind a helper function to improve readability and maintainability of the application code.
This PR is related to discussion Thalhammer#243 and is a 3 file contribution:

- `nuget\jwt-cpp.nuspec` contains all the descriptions of the NuGet package, including authors, and the path of files to be copied.
- `nuget\jwt-cpp.targets` automatically set up the "additional include directories" when the package is installed.
- `.github\workflows\nuget.yml` contains the GitHub Action to pack and pub the NuGet package.

Co-authored-by: Diogo Strube de Lima <diogo.strube.lima@gmail.com>
Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
Co-authored-by: Dominik Thalhammer <dominik@thalhammer.it>
The CMake min-req CI action takes ages to complete which is really annoying if you have to wait for it to finish in addition to wasting compute ressources. Turns out the vast majority of its time is spent building cmake every time, which is clearly not necessary. This change updates the workflow to cache the built cmake version and restore it if needed cutting ~7.5 minutes of the build.
prince-chrismc and others added 30 commits March 9, 2025 22:00
* Update traits.h

* fix actions fails

* update version of jsoncons warkflow traits and install action

* update example/traits/danielaparker-jsoncons.cpp

* Drop support of the 0.x release of jsoncons

* Update jsoncons to 1.3.2 and nlohmann-json to 3.12.0

* revert the changes for nlohmann-json

---------

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
* update nlohmann-json to 3.12.0 (fix cmake min version)

* Bump fetch ver

Needs new md5

* 3.12 md5

* Limit hunter cmake version

* bump jsoncpp version to v1.9.6 as well

* bump workflow as well as default

---------

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
* use ubuntu-latest + update actions/cache

* performance-avoid-endl

https://clang.llvm.org/extra/clang-tidy/checks/performance/avoid-endl.html

* misc-const-correctness

https://clang.llvm.org/extra/clang-tidy/checks/misc/const-correctness.html

* misc-const-correctness

https://clang.llvm.org/extra/clang-tidy/checks/misc/const-correctness.html

* formatting

* clang format and tidy and already installed

https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md#language-and-runtime

* explict clang-format-14

* disable include cleaner

* format

* format

* install lcov to get patching geninfo for gcc 13

* revert "install lcov to get patching geninfo for gcc 13"
* Support passing ssl library key handles to algorithms

* Support passing public keys too for ssl library key handles

* add documentation to ecdsa constructor

* Support passing ssl library rsa keys

* reformat code

---------

Co-authored-by: Dominik Thalhammer <dominik@thalhammer.it>
Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
Fixes error
```
  The link interface of target "jwt-cpp::jwt-cpp" contains:

    picojson::picojson>

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.
```

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
…halhammer#398)

The examples have been using older cmake_minimum_required,
given support for versions <3.10 is deprecated since 3.31,
synchronize the minimum required version from the main CMakeLists.txt
(version 3.14) into examples and tests.

closes Thalhammer#397
* Add size checks before casting to int

Added checks to ensure sizes fit into int before casting.

* Fix windows build without NOMINMAX

---------

Co-authored-by: Dominik Thalhammer <thalhammer.d@googlemail.com>
Co-authored-by: Dominik Thalhammer <dominik@thalhammer.it>
* Cast data size to unsigned int

* correcting CI worktree

* Add LCOV_ARGS to Fix geninfo line mismatch error

* Add unused error ignore to LCOV_ARGS

* Refactor Format to match lint requirements

* Fix formatting in CMakeLists.txt for coverage setup

* Fix coverage setup for jwt-cpp-test
* Fix lcov line number mismatch for ClaimTest::AudienceAsString (#1)

* Add blank line before TEST macro to fix coverage line mismatch

* Verify tests pass after fix

* Remove CodeQL build artifacts and update .gitignore

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JurgenLB <77586573+JurgenLB@users.noreply.github.com>

* Remove blank line

* Add concurrency to traits job

Add concurrency settings to traits job in workflow

* Additional spacing added to prevent geninfo line mismatch errors

* Fix concurrency group in traits workflow to prevent job cancellations

* fix-msvc-type-trait-warnings

* Apply clang-format

* Fix formatting issues

* Fix formatting issues in jwt.h

* format

* Update jwt.h

* Remove unwanted reference

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
* Update LibreSSL version to 4.2.1 in CI configuration and documentation

* update OpenSSLErrorTest for LibreSSL 4.2.0+

Add Linux LibreSSL support in CMake presets

* add debug output to failure for all ssl libraries

* fix type in libressl version check

* chore: lint
* Support Ed25519 for LibreSSL 3.7.1+

* fix EdDSACertificate error code test for new implementation

---------

Co-authored-by: Chris McArthur <prince.chrismc@gmail.com>
…hammer#412)

* Extra install scripts for jsonconc. libressl, and wolfssl

this make it easier to run locally when testing

* make script exe

plus cleanup
…Thalhammer#411)

* Fix CMake cache key to use container image fallback

* fix cache key for containers

* pass cache key in one level higher

* store info one level higher

again

* try $env:ImageOS

* capture it from a step

maybe

* steal cache key logic from setup-go  action

* cleanup + comment explanation

* spelling
asan and matrix for latest releases across all versions. Add back badges for older paid support releases and cleanup docs
updated doxygen to 1.14.0 and doxygen-awesome-css to 2.4.1
* feat: add glaze traits

* fix: format

* name glaze_json, add to ci, add example

* code review

* linter

* disable linter for glaze tests

* add badge to docs for new library

---------

Co-authored-by: Curve <fynnbwdt@gmail.com>
…ammer#419)

* typed tests for all the various json implementation

more coverage of all the various traits

* Configure LCOV_OPTS for coverage reporting

Add LCOV_OPTS to ignore errors in coverage report

* linter

* Update LCOV_OPTS to ignore multiple mismatch errors

* Configure LCOV to ignore mismatches

Added configuration for LCOV to ignore mismatches in coverage reports.

* try to pass lcov args + cleanup excludes

* directly pass lcov args

* fix min cmake req

prepend is 3.15, seems overkill
* add reflect json traits

* jwt-cpp defaults

* fix clang tidy warnings

* fix clang tidy warnings

* rename directory

* add tests

* add tests

* add tests

* replace unnecessary copy with move

* gate reflect cpp tests behind flag

* reflect cpp CI work

* reflect-cpp example

* reflect-cpp CI

* reflect-cpp CI

* match naming + update ci

* first pass code review

* linter

* linter

* align naming

* make file +x

* align target name

fix order or targets in tests

* fix typo

* Fix target_link_libraries syntax for jwt-cpp

* cleanup example code

* add reflect-json to coverage tests

---------

Co-authored-by: Ali Girayhan Ozbay <aligirayhan.ozbay@abex.capital>
Co-authored-by: Ali Girayhan Özbay <aligirayhan@ozbay.org>
…sting (Thalhammer#423)

* utilize TypeParam to change traits implementation

explains why coverage hits were so slow

* fixup danielaparker-jsoncons locally

* fixup open_source_parsers_jsoncpp

tested locally

* cleanup lcov args

* add install script for osp/jsoncpp

* linting

* install script for boost

* boost outputs json in different order

this si allowed so the tests are now more relaxed when matching tokens

* update gtest to install gmock as well

* update gtest

* add default version for gtest

* lower gtest for min cmake compat test

* fix typo

* find gtest package is now config

* add back install for lcov

* try forcing install on

* debug print cmake cache file from gtest

* try install with make directly

* workaround for gtest 1.16 cmake install

* lower gtest to match cmake_min_versions

* enable picojson lint tests generation

* move negative decode tests

* linter

* explicit trait test for picojson

* lint
* undo unwanted changes from Thalhammer#405 and Thalhammer#408

* Cast asInt64 result to integer_type

* Fix double type handling for int64_type

* unwanted change

---------

Co-authored-by: Chris Mc <prince.chrismc@gmail.com>
* quick poc at using cmake to generate the defaults.h traits files

* add test preset to dev

* self review

* poc moving logic to actions

* Remove stale defaults.h generation configuration

* Fix file path in lint workflow configuration

* chmod +x

* linter

* linter

* clean up action and lint workflow

* rm source_dir cli arg from cmake script

now just assume the current directory is correct

* linter

* fix order

* add workflow preset for running unit test

sadly then is less reusable than i wanted
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.