Commit Graph

460 Commits

Author SHA1 Message Date
Brian Demers 3aaa70bd18 Updates the Java 7 install location for CI
The previously used URL is dead, which was preventing other PRs from passing CI
2020-07-09 15:23:35 -04:00
Les Hazlewood 14b2f19b29 [maven-release-plugin] prepare for next development iteration 2020-06-11 15:50:09 -04:00
Les Hazlewood 274749373f [maven-release-plugin] prepare release 0.11.2 2020-06-11 15:50:00 -04:00
Les Hazlewood 0596bea16a Updating readme dependency references to reflect the 0.11.2 release 2020-06-11 14:24:23 -04:00
Les Hazlewood 5c8064bbd1 Updated changelog to link to the 0.11.2 milestone 2020-06-11 14:21:03 -04:00
Les Hazlewood 26527bd43c Updated the pom snapshot versions to prepare for the upcoming 0.11.2 release 2020-06-11 14:16:29 -04:00
Les Hazlewood 2f897cbb4d Updated the changelog for the upcoming 0.11.2 release 2020-06-11 14:14:42 -04:00
Les Hazlewood 72973f9b9b
Argument validation for allowedClockSkewSeconds (#601)
* 583: ensured setting allowedClockSkewSeconds to be greater than (Long.MAX_VALUE / 1000) will throw an IllegalArgumentException.
2020-06-11 13:46:03 -04:00
Philipp Zormeier 2b00ed1819
Add DefaultJwtParser functionality to parse JWSs with empty body. (#540)
* Add DefaultJwtParser functionality to parse JWSs with empty body.

* Review Fix: Change allowEmptyBody(boolean) to requirePayload(boolean). Set payloadRequired true for each require*() method in JwtParser and JwtParserBuilder.

* Add missing ImmutableJwtParserTest.

* Review changes: Moving to solution without payload requirement flag.

* Review changes: Allow empty Jwt payload

* Remove unused imports

Co-authored-by: Philipp Zormeier <philipp.zormeier@thoughtworks.com>
2020-06-08 14:07:10 -04:00
Johannes Ballmann 82b870e283
Add support for jdk14 (#590) 2020-06-08 14:00:59 -04:00
Oleg Kuzych d8c313cfa6
Fix GsonDeserializer to support unicode characters independently of "file.encoding" system property's value being used by JVM (#592)
Co-authored-by: Oleh Kuzych <oleh_kuzych_tp@bmc.com>
2020-06-08 14:00:17 -04:00
Brian Demers 43de9a34e3
Add parameterized return type to Maps.and() (#597)
Fixes: #591
2020-06-08 13:59:41 -04:00
Johannes Ballmann 6b02041be6
Accept oid in assertValid (#589)
* Add special handling for Hmac-Keys loaded from pkcs#12 keystores

* Link to openjdk bug in javadoc

* Switch to mocked key for OID algorithm name test, eliminate KeyStore Usage in Test.

* Replace alternateNames oid field and remove from public api.

* Rename oid to pkcs12Name, make sure it's non null.
2020-06-06 16:44:07 -04:00
Carsten Ziegeler 403e1895e3
Attach implementation bundles as fragments to the API bundle to make them visible to the API bundle. This fixes jwtk#578 (jwtk#578) (#580) 2020-04-27 17:40:02 -04:00
dependabot[bot] 972591f87f
Bump jackson-databind from 2.9.10.3 to 2.9.10.4 (#587)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.10.3 to 2.9.10.4.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-04-24 16:06:43 -04:00
Les Hazlewood 5616ba769a [maven-release-plugin] prepare for next development iteration 2020-03-12 16:59:12 -04:00
Les Hazlewood c09deaa5f3 [maven-release-plugin] prepare release 0.11.1 2020-03-12 16:59:05 -04:00
Les Hazlewood c563365b97 Prepping for the 0.11.0 --> 0.11.1 release 2020-03-12 16:56:17 -04:00
Les Hazlewood f22a0e955a Prepping for the 0.11.0 --> 0.11.1 release 2020-03-12 16:44:01 -04:00
Les Hazlewood 2349d4dce3
Upgraded Jackson dependency to 2.9.10.3. Resolves #567. (#576) 2020-03-12 16:40:52 -04:00
Les Hazlewood 6565bdc019
Minor JavaDoc fix and changelog updates. Fixes #535 (#575) 2020-03-12 16:25:12 -04:00
Brian Demers 9e65ab7be0 Services now checks the contextClassLoader, Services.class.classLoader, and the system classloader
Fixes: #568
2020-03-12 15:43:37 -04:00
Brian Demers 111633fa88 Gson Serializer/Deserializer are now correctly registered service when found on the classpath
Added test to other serializer implementations as well

Fixes: #563
2020-03-05 14:11:34 -05:00
dependabot[bot] 0fd59efc93 Bump jackson-databind from 2.9.10.1 to 2.9.10.3
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.10.1 to 2.9.10.3.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-05 10:09:47 -05:00
Brian Demers e115085b14 Allow JacksonDeserializer to work with Java 9+ Map.of
and other maps that do NOT allow null keys
2020-02-24 16:01:18 -05:00
Les Hazlewood 09637f1e66 Fixing version references for the 0.11.0 release. 2020-02-05 12:50:13 -08:00
Les Hazlewood 23743f5a59 [maven-release-plugin] prepare for next development iteration 2020-02-05 12:29:05 -08:00
Les Hazlewood 3cd48fade7 [maven-release-plugin] prepare release 0.11.0 2020-02-05 12:28:58 -08:00
Les Hazlewood b4363e1572
- Update README to use `parserBuilder()` instead of `parser()` (#499) (#559)
- Docs: Adds section to README covering custom object parsing (#500)
- Docs: Add note about JwtParserBuilder creating an immutable JwtParser (#508)
Doc: #486
Fixes: #494
Doc: #495
Fixes: #171

Updated documentation and changelog to reflect the new Gson extension. Fixes #410. (#476)

Co-authored-by: Brian Demers <brian.demers@gmail.com>
2020-02-05 12:08:18 -08:00
Les Hazlewood 1aa8225703
Documented how to convert strings to SecretKey instances. Resolves #517 (#561) 2020-02-04 22:50:56 -08:00
Les Hazlewood 5481248a71
Documented why changing Base64 sometimes does not invalid signature checks. Resolves #518 (#560) 2020-02-04 18:33:36 -08:00
Les Hazlewood c38f4af239
Ensured DeflateCompressionCodec could fallback to <= 0.10.6 implementation if encountering an IOException. This allows compressed JWTs created before 0.10.7 to still work. Fixes #536 (#556) (#557) 2020-02-04 14:29:16 -08:00
Les Hazlewood 950e6fbcc7
cherry-pick 4821395c06b0786e19b1a3153be65f39a2a524d9: Ensured SignatureAlgorithm `PS256`, `PS384`, and `PS512` worked properly on JDK 11 and later without requiring BouncyCastle. (#555) 2020-02-04 00:10:39 -08:00
Les Hazlewood 9481f317e1
Resolves #552 : changed mock implementation to speed up a very slow test (#553) 2020-02-03 13:41:30 -08:00
Brian Demers 2fd3f06b7b
Update SignatureValidator to use MessageDigest (#548) 2020-01-27 14:20:21 -05:00
dependabot[bot] eadf0ce4fc Bump jackson-databind from 2.9.10 to 2.9.10.1 (#532)
Bumps [jackson-databind](https://github.com/FasterXML/jackson) from 2.9.10 to 2.9.10.1.
- [Release notes](https://github.com/FasterXML/jackson/releases)
- [Commits](https://github.com/FasterXML/jackson/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2019-11-13 09:33:35 +01:00
Micah Silverman dacdb2ce25
relocated Service.java to impl module (along with tests). (#529) 2019-10-27 17:13:49 -04:00
Brian Demers c21c30a025
Merge pull request #496 from jwtk/service-loader
Replace hardcoded class names and reflection with ServiceLoader

Fixes: #458
2019-10-24 14:35:50 -07:00
Brian Demers 7037d64d24 Reduce scope of Service Loader work to CompressionCodecs and JsonSerializers
Fixes: #458
2019-10-23 09:14:08 -07:00
Jaap Coomans ef32a1386d Use ServiceLoader instead of reflection to resolve implementation classes.
By using ServiceLoader the hardcoded dependency of implementation classes becomes obsolete, so that the API will be truly independent from the implementation. Also this approach paves the way for migration to JPMS modules, as these also leverage the ServiceLoader API.

Use ServiceLoader instead of reflection to resolve CompressionCodec implementation classes.

Isolate key- and key-pair generators and use ServiceLoader instead of reflection to invert dependencies.

Move FactoryLoader logic to Services class and improve package layout.

Resolve Deserializer using the ServiceLoader instead of reflection and hardcoded reference.

Resolve Serializer using the ServiceLoader instead of reflection and hardcoded reference.
2019-10-23 09:13:58 -07:00
Christian Schneider bf7e300d6b Remove extensions true, move jar plugin near bundle-plugin to show th… (#514)
* Remove extensions true, move jar plugin near bundle-plugin to show their configs are related

* Reverted to original version to make sure it still works on jdk7
2019-10-09 11:15:30 -04:00
Dominic Jodoin a9e5b47daa Cache Maven dependencies (#513) 2019-10-05 13:08:52 -04:00
Brian Demers ebdb4426f6
Update version to 0.11.0-SNAPSHOT (#506)
via: `mvn versions:set -DnewVersion=0.11.0-SNAPSHOT -DgenerateBackupPoms=false`
2019-10-03 12:09:48 -04:00
Brian Demers 7eb9c514b0
Fixes test error caused by groovy type coercion (#509)
* Fixes test error caused by groovy type coercion

A long was being treated as a float

* Fixes test error caused by groovy type coercion

A long was being treated as a float
2019-10-03 12:09:23 -04:00
sal0max 56db77ed7e Add missing bracket (#511) 2019-10-02 19:06:23 -04:00
Brian Demers 94d151129d
Add JwtParserBuilder as the preferred way to create a JwtParser instance (#486)
- Added new JwtParserBuilder
- Copied mutator methods from JwtParser into new JwtParserBuilder
- Marked said methods as deprecated in JwtParser
- Copied JwtParserTest and JwtsTest to Deprecated*, as to retain coverage on methods that will be removed in 1.0
- Added ImmutableJwtParser
  This is a stop gap until 1.0, all of the mutable methods will now throw a IllegalStateException.
  NOTE: this only comes into place when using the new Jwts.parserBuilder(), Jwts.parser() is unchanged.

Fixes: #473
2019-10-01 12:03:20 -04:00
Brian Demers a236656c00
Fix minor Javadoc error in JacksonDeserializer (#505)
missing `#` in @link tag
2019-10-01 12:00:56 -04:00
Brian Demers 7090bf39c3
Add support for custom type deserialization with Jackson (#495)
- Adds new constructor JacksonDeserializer(Map<String, Class> claimTypeMap), which will enable later calls Claims.get("key", CustomType.class) to work as expectd
 - Adds new Maps utility class to make map creation fluent

Fixes: #369
2019-09-30 17:24:57 -04:00
Brian Demers a0060d60f9
Fix duplicate japicmp plugin definition in root pom (#504)
Merge japicmp plugin definitions - caused by a merge
2019-09-30 14:59:21 -04:00
Brian Demers 6e74be0b8d
Fix split package issue in extensions/jackson and extensions/orgjson (#488)
* Fix split package issue in extensions/jackson and extensions/orgjson

This moves the implementation specific classes:
- `io.jsonwebtoken.io.Jackson*` to `io.jsonwebtoken.jackson.io.Jackson*`
- `io.jsonwebtoken.io.OrgJson*` to `io.jsonwebtoken.orgjson.io.OrgJson*`

* Add Backwards Compatibility Warning to CHANGELOG
* Add `jjwt-jackson:deprecated` and `jjwt-orgjson:deprecated` modules to retain backward-compatible versions of the Jackson and OrgJson Serializers (this is built with the shade plugin and binary compatibility validated with japicmp)

Fixes: #399
2019-09-27 17:11:19 -04:00