Commit Graph

255 Commits

Author SHA1 Message Date
Les Hazlewood 48dae365b1 Merge pull request #172 from sainaen/numeric_claims_fix_typing
Implement type conversions of integral claim values
2016-09-22 10:20:12 -07:00
Les Hazlewood eee5fffb61 Merge pull request #145 from brentstormpath/master
Readme Update
2016-09-22 10:17:24 -07:00
sainaen 13906d3746 Implement type conversions of integral claim values
Jackson chooses the target type for JSON numbers based on their value,
while deserializing without correct typing information present.
This leads to a confusing behavior:

    String token = Jwts.builder()
        .claim("byte", (byte) 42)
        .claim("short", (short) 42)
        .claim("int", 42)
        .claim("long_small", (long) 42)
        .claim("long_big", ((long) Integer.MAX_VALUE) + 42)
        .compact();
    Claims claims = (Claims) Jwts.parser().parse(token).getBody();
    claims.get("int", Integer.class); // => 42
    claims.get("long_big", Long.class); // => ((long) Integer.MAX_VALUE) + 42
    claims.get("long_small", Long.class); // throws RequiredTypeException: required=Long, found=Integer
    claims.get("short", Short.class); // throws RequiredTypeException: required=Short, found=Integer
    claims.get("byte", Byte.class); // throws RequiredTypeException: required=Byte, found=Integer

With this commit, `DefaultClaims.getClaim(String, Class<T>)` will
correctly handle cases when required type is `Long`, `Integer`, `Short`
or `Byte`: check that value fits in the required type and cast to it.

    // ... setup is the same as above
    claims.get("int", Integer.class); // => 42
    claims.get("long_big", Long.class); // => ((long) Integer.MAX_VALUE) + 42
    claims.get("long_small", Long.class); // => (long) 42
    claims.get("short", Short.class); // => (short) 42
    claims.get("byte", Byte.class); // => (byte) 42

Fixes #142.
2016-09-20 12:49:01 +03:00
Les Hazlewood 8966c3a912 Added minor update to jackson version docs 2016-09-12 17:50:24 -07:00
Les Hazlewood 29241c3b66 [maven-release-plugin] prepare for next development iteration 2016-09-12 17:37:12 -07:00
Les Hazlewood c86c775caf [maven-release-plugin] prepare release 0.7.0 2016-09-12 17:37:08 -07:00
Les Hazlewood 67dbc7701f Merge pull request #167 from jwtk/0.7.0-release-prep
0.7.0 release prep
2016-09-12 17:34:54 -07:00
Les Hazlewood cfeeb6e5cd Added release notes and doc update for the 0.7.0 release. 2016-09-12 17:23:18 -07:00
Les Hazlewood 0da903f214 Added release notes and doc update for the 0.7.0 release. 2016-09-12 17:22:41 -07:00
Les Hazlewood c13362dafa Added release notes and doc update for the 0.7.0 release. 2016-09-12 17:20:47 -07:00
Les Hazlewood b13650dc60 Merge branch '61-edits' and MichaelSims-master 2016-09-12 16:44:33 -07:00
Les Hazlewood 6c4b58e4fe edits to exception message to be a little more helpful and to ensure previous GH issue tests passed 2016-09-12 16:40:52 -07:00
Les Hazlewood ab4f9ff9e8 edits to exception message to be a little more helpful and to ensure previous GH issue tests passed 2016-09-12 16:39:17 -07:00
Les Hazlewood 8f1b528d8c Minor edits to @MichaelSims pull request - prepping for release 2016-09-12 16:12:30 -07:00
Les Hazlewood a06e35cf84 Merge branch 'MichaelSims-master' into 61-edits 2016-09-12 16:04:54 -07:00
Les Hazlewood ff932e9838 Merge branch 'master' of https://github.com/MichaelSims/jjwt into MichaelSims-master
# Conflicts:
#	src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java
2016-09-12 16:03:53 -07:00
Les Hazlewood af01cca922 122: added code comments so readers understand that JWT mandates seconds, not milliseconds 2016-09-12 10:37:34 -07:00
Les Hazlewood 5b15b9363e Merge pull request #165 from jwtk/107-ex-msg-utc-format
107: ensured exception message printed UTC times correctly
2016-09-11 14:09:44 -07:00
Les Hazlewood 1974069561 107: ensured exception message printed UTC times correctly 2016-09-11 14:04:20 -07:00
Les Hazlewood 0f63ec8012 Merge pull request #117 from matzon/master
implement hashCode and equals in JwtMap
2016-09-11 12:57:02 -07:00
Les Hazlewood 0fb8ffcb76 Merge pull request #164 from jwtk/161-lib-versions
161: upgraded library versions to latest stable
2016-09-11 12:54:43 -07:00
Les Hazlewood 55fcf190cc Merge pull request #162 from maurociancio/patch-2
Fix typo.
2016-09-11 12:49:44 -07:00
Les Hazlewood 79e95856a4 161: upgraded library versions to latest stable 2016-09-11 12:48:48 -07:00
Mauro Ciancio 77dcd9a9b3 Fix typo 2016-09-08 11:56:17 -03:00
Les Hazlewood f522abe2cb Merge pull request #158 from benbenw/parser-perf
improve jwt parser memory allocation
2016-08-31 12:23:20 -04:00
Les Hazlewood 8e26b937f6 Merge pull request #159 from benbenw/ignore-eclipse
add eclipse files to gitignore
2016-08-31 12:21:53 -04:00
benoit d13d2eeffe add eclipse files to gitignore 2016-08-31 16:54:10 +02:00
benoit 9735d1ad98 improve jwt parser memory allocation
re-use buffer instead of creating new ones
avoid creating unneeded buffers in the Strings util methods
Stop continuously copying array with StringBuilder#deleteCharAt
work directly on StringBuilder instead of creating a temporary String

test added to cover the modified methods
2016-08-31 16:39:42 +02:00
Michael Sims 3fb794ee91 #61: Add support for clock skew to JwtParser for exp and nbf claims 2016-08-29 16:34:00 -05:00
Les Hazlewood 0408313d3f Merge pull request #150 from mike9005/patch-1
Fix ES512 description typo in README
2016-07-21 13:08:54 -07:00
Michael Collis c5ae6f53f1 Fix ES512 description typo in README 2016-07-21 15:30:36 -04:00
brentstormpath ab76c850db Readme Update 2016-07-12 17:24:26 -07:00
brentstormpath 007b82c6ad Merge pull request #1 from jwtk/master
Merge Updates from Upstream Master
2016-07-12 17:19:12 -07:00
Les Hazlewood 3bd425a63d updated coveralls logo 2016-07-04 12:16:16 -07:00
Les Hazlewood e55ea34e95 Merge pull request #105 from aarondav/patch-2
Avoid potentially critical vulnerability in ECDSA signature validation
2016-07-04 11:56:48 -07:00
Les Hazlewood 8e6e165c1d Merge pull request #141 from jwtk/coveralls_jacoco
updated to jacoco as only jacoco supports java 8
2016-07-04 11:52:20 -07:00
Les Hazlewood 07534487d3 Merge pull request #132 from alexanderkjall/patch-1
javadoc typo
2016-07-04 11:51:28 -07:00
Micah Silverman 82f4b0a696 updated to jacoco as only jacoco supports java 8 per: https://github.com/trautonen/coveralls-maven-plugin#faq 2016-07-04 01:01:42 -04:00
Les Hazlewood 09c96ce305 Merge pull request #140 from jwtk/readme_update
Readme update and move Changelog to its own file
2016-07-03 12:36:53 -07:00
Micah Silverman 7a2808af12 Expanded on intro section. 2016-07-03 12:29:13 -04:00
Micah Silverman b053834dae Updated README with more examples 2016-07-03 12:29:13 -04:00
Micah Silverman 78cb1707d7 moved older jackson section back into readme 2016-07-03 12:29:13 -04:00
Micah Silverman 0899261074 Separated CHANGELOG from README 2016-07-03 12:29:13 -04:00
Les Hazlewood ceac032f11 Merge pull request #137 from martintreurnicht/master
Fixed ECDSA Signing and verification
2016-06-30 14:11:08 -07:00
Martin Treurnicht c3e5f95242 Added more descriptive backwards compatibility information 2016-06-30 13:46:07 -07:00
Martin Treurnicht 174e1b13b8 Add back swarm test for 100% coverage 2016-06-28 12:19:54 -07:00
Martin Treurnicht 61510dfca5 Cleanup as per request of https://github.com/lhazlewood 2016-06-28 12:12:40 -07:00
Martin Treurnicht c60deebb64 Removed java 8 dependencies in test 2016-06-27 16:02:06 -07:00
Martin Treurnicht a73e0044b8 Fixed ECDSA Signing and verification to use R + S curve points as per spec https://tools.ietf.org/html/rfc7515#page-45 2016-06-27 15:43:35 -07:00
Alexander Kjäll 26a14fd3c3 javadoc typo
Updated the number of bits for the HS512 algorithm in the javadoc comment.
2016-06-13 14:40:35 +02:00