- Ensure
sub
,iss
,jti
are strings (#62)
- Fix
iat
claim verification (#57)
- Add support for base64 encoded secrets (#54)
- Fix
exp
,nbf
andiat
checks by casting the value toint
- Fix invalid ECDSA signature for keys that are not a multiple of 8 (e.g. secp521r1) (#51)
- Add testable date times (#50)
- Fixing issue with custom headers (#48)
- NEW: tests have been added
- NEW: publish & test CI
- Making all
JWTAlgorithm
classes public (mainly to be mocked in tests)
- Removing
basic_utils
package that was incompatible with flutter web - Moving utils to
helpers.dart
and key parsing functions intokey_parser.dart
- Adding some new examples in
example/example.dart
- New ECDSA algorithm (ES256K)
- New RSA algorithm with PSS padding (PS256, PS384, PS512)
- README.md improved
- example/example.dart improved
- Adding a new class factory
ECPublicKey.cert
- Adding
basic_utils
package to handle PEM & key parsing - A lot of new class factory to create
Keys
(e.g.RSAPublicKey.cert
and.bytes
)
- Downgraing
collection
to 1.7.1 to be compatible with flutter_test
- Updating dependencies
- Fixing
CHANGELOG.md
- BREAKING CHANGE: Replacing all JWTError by JWTException that is more accurate (#39)
- Fixing assert message (#42)
- Migrating from
pedantic
tolints
parsing.dart
has been replaced by more accurate CryptoUtils functionshttps://github.com/Ephenodrom/Dart-Basic-Utils
- Fixing
_ECDSAAlgorithm.sign
method that did not filling the gap in the ECDSA curve signatures
- Fixing
ECPrivateKey.raw
initializesize
- Adding a
.raw
and.clone
constructor toJWTKey
(execptSecretKey
of course)
- Fix rethrow of JWTError exceptions for the method
verify
. Before this change every exception thrown byverify
always returned JWTUndefinedError
- Adding a
try
version ofdecode
,verify
andsign
, that simply returnsnull
instead of throwing errors
- Adding a
JWT.decode
method to simply decode a token without checking its signature - The
JWT.verify
method do not remove extra token infos (iss
,aud
, ...) anymore
- Fix Flutter compatibility issue:
downgrade
dependency collection to1.16.0
- Formating for 'static analysis'
- Fix : #19
- BREAKING CHANGE:
JWT.audience
is now an instance of theAudience
class, to handle multiple audience entries and can be used like list. You can always use a single entry by callingAudience.one('...')
factory and the.first
getter - Upgrading
pointycastle
dependency to3.3.4
- Some badges on
README.md
(Thanks to https://github.com/bruno-garcia/badges.bar)
- Fix the
pointycastle
dependency,v3.1.3
is incompatible with flutter web (dart2js) (#14)
- Adding
header
in JWT class (you can now set your custom header)
- Fixing EdDSA incompatibility's with flutter web (#11)
- Dependencies:
ed25519_edwards
have been removed,convert
&collection
have been added
- Fixing
_pkcs8ECPublicKey
to work with pointycastle 3.0.1
- When an undefined error occur
JWTUndefinedError
is thrown containing the original error inerror
property (#9) - BREAKING CHANGE:
jwt.verify
no longer supportthrowUndefinedErrors
parameter
- Fixing
JWT.sign
to includeiat
& other attributes when payload is an empty Map
- Stable release for null safety
- New EdDSA Algorithm (EdDSA)
- EdDSAPrivateKey and EdDSAPublicKey, two new keys for EdDSA algorithm
ed25519_edwards
package has been added
- Null safety migration of this package
- Adding
analysis_options.yaml
to work with pedantic during development
- Formating for 'static analysis'
- New ECDSA Algorithm (ES256, ES384, ES512)
- ECPrivateKey and ECPublicKey, two new keys for ECDSA algorithm
- PrivateKey is renamed in RSAPrivateKey
- PublicKey is renamed in RSAPublicKey
- Optimization of private & public keys parsing
rsa_pkcs
&cryptography
have been removed
- Debuging
_TypeError issue on sign method
(#4) - Implementing
toString
in theJWTError
class
- Formating for 'static analysis'
- Implementing
throwUndefinedErrors
option in theJWT.verify
method
- Formating for 'static analysis'
- Adding checks in
JWT.verify
function foriss, sub, aud, iat, jti
- Formating for 'static analysis'
- Payload is now required
- Payload is now dynamic and not restricted to an object
- Dependencies updated
- New algorithms
- Formating for 'static analysis'
- Docs & examples
- More details on exceptions
- New examples
- New RSA Algorithm (RS256)
- Keys a now using an abstract class 'Key' instead of a string
- SecretKey: for HMAC (HS256)
- PrivateKey & PublicKey: for RSA (RS256)
- Formatting
- Better documentations
- First version with every based features