- Add
Validation.reject_tokens_expiring_in_less_than
, the opposite of leeway
- Add an option to not validate
aud
in the Validation struct - Get the current timestamp in wasm without using std
- Update ring to 0.17
- Supports deserialization of unsupported algorithms for JWKs
- Update ring
- Rejects JWTs containing audiences when the Validation doesn't contain any
- Update base64
- Implement Clone for TokenData if T impls Clone
- Add DecodingKey::from_jwk
- Can now use PEM certificates if you have the
use_pem
feature enabled
- Fix invalid field name on OctetKeyParameters
- Make optional fields in the spec really optional
- Implements
Hash
forHeader
- Fix documentation of leeway
- Add EdDSA algorithm
sign
/verify
now takes a&[u8]
instead of&str
to be more flexibleDecodingKey
now own its data- Remove deprecated
dangerous_unsafe_decode
Validation::iss
is now aHashSet
instead of a single valuedecode
will now error ifValidation::algorithms
is empty- Add JWKs types for easy interop with various Oauth provider, see
examples/auth0.rs
for an example - Removed
decode_*
functions in favour of using theValidation
struct - Allow float values for
exp
andnbf
, yes it's in the spec... floats will be rounded and converted to u64 - Error now implements Clone/Eq
- Change default leeway from 0s to 60s
- Add
Validation::require_spec_claims
to validate presence of the spec claims - Add default feature for pem decoding named
use_pem
that can be disabled to avoid 2 dependencies
- Add
dangerous_insecure_decode
to replacedangerous_unsafe_decode
, which is now deprecated - Add
dangerous_insecure_decode_with_validation
- Derive
Hash
forHeader
andAlgorithm
- Update dependencies
- Add
into_static
toDecodingKey
for easier re-use
- Add support for PS256, PS384 and PS512
- Add support for verifying with modulus/exponent components for RSA
- Update to 2018 edition
- Changed aud field type in Validation to
Option<HashSet<String>>
. Audience validation now tests for "any-of-these" audience membership. - Add support for keys in PEM format
- Add EncodingKey/DecodingKey API to improve performance and UX
- Fix Algorithm mapping in FromStr for RSA
- Update Ring to 0.14
- Remove
iat
check to match the JWT spec - Add ES256 and ES384 signing decoding
- Add implementation of FromStr for Algorithm
- Update ring
- Change error handling to be based on simple struct/enum rather than error-chain
- Fix validations not being called properly in some cases
- Default validation is not checking
iat
andnbf
anymore
- Add method to decode a token without signature verification
- Make it mandatory to specify the algorithm in
decode
- Remove
validate_signature
fromValidation
, usedecode_header
instead if you don't know the alg used - Make
typ
optional in header, some providers apparently don't use it
- Update ring & error-chain
- Fix documentation about
leeway
being in seconds and not milliseconds - Add
decode_header
to only decode the header: replaces the use case ofvalidate_signature
- Make
TokenData
public
- Update ring & chrono
- Update ring
- Use Serde instead of rustc_serialize
- Add RSA support
- API overhaul, see README for new usage
- Add validation
- Update all dependencies
- 1.1.7: update ring
- 1.1.6: update ring
- 1.1.5: update ring version
- 1.1.4: use ring instead of rust-crypto
- 1.1.3: Make sign and verify public
- 1.1.2: Update rust-crypto to 0.2.35
- 1.1.1: Don't serialize empty fields in header
- 1.1.0: Impl Error for jsonwebtoken errors
- 1.0: Initial release