jose 0.8.1.0 → 0.8.2.0
raw patch · 2 files changed
+10/−6 lines, 2 filesdep +faildep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: fail
Dependency ranges changed: base
API changes (from Hackage documentation)
- Crypto.JOSE.Error: _AlgorithmMismatch :: AsError r_amq6 => Prism' r_amq6 String
+ Crypto.JOSE.Error: _AlgorithmMismatch :: AsError r_amvu => Prism' r_amvu String
- Crypto.JOSE.Error: _AlgorithmNotImplemented :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _AlgorithmNotImplemented :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _CompactDecodeError :: AsError r_amq6 => Prism' r_amq6 CompactDecodeError
+ Crypto.JOSE.Error: _CompactDecodeError :: AsError r_amvu => Prism' r_amvu CompactDecodeError
- Crypto.JOSE.Error: _CryptoError :: AsError r_amq6 => Prism' r_amq6 CryptoError
+ Crypto.JOSE.Error: _CryptoError :: AsError r_amvu => Prism' r_amvu CryptoError
- Crypto.JOSE.Error: _Error :: AsError r_amq6 => Prism' r_amq6 Error
+ Crypto.JOSE.Error: _Error :: AsError r_amvu => Prism' r_amvu Error
- Crypto.JOSE.Error: _JSONDecodeError :: AsError r_amq6 => Prism' r_amq6 String
+ Crypto.JOSE.Error: _JSONDecodeError :: AsError r_amvu => Prism' r_amvu String
- Crypto.JOSE.Error: _JWSCritUnprotected :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _JWSCritUnprotected :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _JWSInvalidSignature :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _JWSInvalidSignature :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _JWSNoSignatures :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _JWSNoSignatures :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _JWSNoValidSignatures :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _JWSNoValidSignatures :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _KeyMismatch :: AsError r_amq6 => Prism' r_amq6 Text
+ Crypto.JOSE.Error: _KeyMismatch :: AsError r_amvu => Prism' r_amvu Text
- Crypto.JOSE.Error: _KeySizeTooSmall :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _KeySizeTooSmall :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _NoUsableKeys :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _NoUsableKeys :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _OtherPrimesNotSupported :: AsError r_amq6 => Prism' r_amq6 ()
+ Crypto.JOSE.Error: _OtherPrimesNotSupported :: AsError r_amvu => Prism' r_amvu ()
- Crypto.JOSE.Error: _RSAError :: AsError r_amq6 => Prism' r_amq6 Error
+ Crypto.JOSE.Error: _RSAError :: AsError r_amvu => Prism' r_amvu Error
- Crypto.JOSE.Error: class AsError r_amq6
+ Crypto.JOSE.Error: class AsError r_amvu
- Crypto.JOSE.Header: parseCrit :: (Foldable t0, Foldable t1, Traversable t2, Traversable t3, Monad m) => t0 Text -> t1 Text -> Object -> t2 (t3 Text) -> m (t2 (t3 Text))
+ Crypto.JOSE.Header: parseCrit :: (Foldable t0, Foldable t1, Traversable t2, Traversable t3, MonadFail m) => t0 Text -> t1 Text -> Object -> t2 (t3 Text) -> m (t2 (t3 Text))
- Crypto.JWT: _JWSError :: AsJWTError r_a1ejW => Prism' r_a1ejW Error
+ Crypto.JWT: _JWSError :: AsJWTError r_a1erT => Prism' r_a1erT Error
- Crypto.JWT: _JWTClaimsSetDecodeError :: AsJWTError r_a1ejW => Prism' r_a1ejW String
+ Crypto.JWT: _JWTClaimsSetDecodeError :: AsJWTError r_a1erT => Prism' r_a1erT String
- Crypto.JWT: _JWTError :: AsJWTError r_a1ejW => Prism' r_a1ejW JWTError
+ Crypto.JWT: _JWTError :: AsJWTError r_a1erT => Prism' r_a1erT JWTError
- Crypto.JWT: _JWTExpired :: AsJWTError r_a1ejW => Prism' r_a1ejW ()
+ Crypto.JWT: _JWTExpired :: AsJWTError r_a1erT => Prism' r_a1erT ()
- Crypto.JWT: _JWTIssuedAtFuture :: AsJWTError r_a1ejW => Prism' r_a1ejW ()
+ Crypto.JWT: _JWTIssuedAtFuture :: AsJWTError r_a1erT => Prism' r_a1erT ()
- Crypto.JWT: _JWTNotInAudience :: AsJWTError r_a1ejW => Prism' r_a1ejW ()
+ Crypto.JWT: _JWTNotInAudience :: AsJWTError r_a1erT => Prism' r_a1erT ()
- Crypto.JWT: _JWTNotInIssuer :: AsJWTError r_a1ejW => Prism' r_a1ejW ()
+ Crypto.JWT: _JWTNotInIssuer :: AsJWTError r_a1erT => Prism' r_a1erT ()
- Crypto.JWT: _JWTNotYetValid :: AsJWTError r_a1ejW => Prism' r_a1ejW ()
+ Crypto.JWT: _JWTNotYetValid :: AsJWTError r_a1erT => Prism' r_a1erT ()
- Crypto.JWT: class AsJWTError r_a1ejW
+ Crypto.JWT: class AsJWTError r_a1erT
- Crypto.JWT: class HasJWTValidationSettings c_a1f4I
+ Crypto.JWT: class HasJWTValidationSettings c_a1fcF
- Crypto.JWT: jWTValidationSettings :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I JWTValidationSettings
+ Crypto.JWT: jWTValidationSettings :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF JWTValidationSettings
- Crypto.JWT: jwtValidationSettingsAllowedSkew :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I NominalDiffTime
+ Crypto.JWT: jwtValidationSettingsAllowedSkew :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF NominalDiffTime
- Crypto.JWT: jwtValidationSettingsAudiencePredicate :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I (StringOrURI -> Bool)
+ Crypto.JWT: jwtValidationSettingsAudiencePredicate :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF (StringOrURI -> Bool)
- Crypto.JWT: jwtValidationSettingsCheckIssuedAt :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I Bool
+ Crypto.JWT: jwtValidationSettingsCheckIssuedAt :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF Bool
- Crypto.JWT: jwtValidationSettingsIssuerPredicate :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I (StringOrURI -> Bool)
+ Crypto.JWT: jwtValidationSettingsIssuerPredicate :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF (StringOrURI -> Bool)
- Crypto.JWT: jwtValidationSettingsValidationSettings :: HasJWTValidationSettings c_a1f4I => Lens' c_a1f4I ValidationSettings
+ Crypto.JWT: jwtValidationSettingsValidationSettings :: HasJWTValidationSettings c_a1fcF => Lens' c_a1fcF ValidationSettings
Files
- jose.cabal +4/−1
- src/Crypto/JOSE/Header.hs +6/−5
jose.cabal view
@@ -1,5 +1,5 @@ name: jose-version: 0.8.1.0+version: 0.8.2.0 synopsis: Javascript Object Signing and Encryption and JSON Web Token library description:@@ -84,6 +84,9 @@ , quickcheck-instances , x509 >= 1.4 , vector++ if impl(ghc<8)+ build-depends: fail ghc-options: -Wall hs-source-dirs: src
src/Crypto/JOSE/Header.hs view
@@ -62,6 +62,7 @@ ) where +import qualified Control.Monad.Fail as Fail import Data.List.NonEmpty (NonEmpty) import Data.Monoid ((<>)) import Data.Proxy (Proxy(..))@@ -285,12 +286,12 @@ critObjectParser- :: (Foldable t0, Foldable t1, Monad m)+ :: (Foldable t0, Foldable t1, Fail.MonadFail m) => t0 T.Text -> t1 T.Text -> Object -> T.Text -> m T.Text critObjectParser reserved exts o s- | s `elem` reserved = fail "crit key is reserved"- | s `notElem` exts = fail "crit key is not understood"- | not (s `M.member` o) = fail "crit key is not present in headers"+ | s `elem` reserved = Fail.fail "crit key is reserved"+ | s `notElem` exts = Fail.fail "crit key is not understood"+ | not (s `M.member` o) = Fail.fail "crit key is not present in headers" | otherwise = pure s -- | Parse a "crit" header param@@ -302,7 +303,7 @@ -- * any value in "crit" does not have a corresponding key in the object -- parseCrit- :: (Foldable t0, Foldable t1, Traversable t2, Traversable t3, Monad m)+ :: (Foldable t0, Foldable t1, Traversable t2, Traversable t3, Fail.MonadFail m) => t0 T.Text -- ^ reserved header parameters -> t1 T.Text -- ^ recognised extensions -> Object -- ^ full header (union of protected and unprotected headers)