, inspect
, addFirstPartyCaveat
-- , addThirdPartyCaveat
+ -- * Serialize
+ , module Crypto.Macaroon.Serializer.Base64
+ -- * Verify
+ , module Crypto.Macaroon.Verifier
) where
-- import Crypto.Cipher.AES
import Crypto.Hash
import Data.Byteable
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Base64.URL as B64
-import qualified Data.ByteString.Char8 as B8
+import qualified Data.ByteString as BS
import Crypto.Macaroon.Internal
+import Crypto.Macaroon.Serializer.Base64
+import Crypto.Macaroon.Verifier
-- | Create a Macaroon from its key, identifier and location
create :: Secret -> Key -> Location -> Macaroon
-- addThirdPartyCaveat key cid loc m = addCaveat loc cid vid m
-- where
-- vid = encryptECB (initAES (signature m)) key
-
-
import Crypto.Macaroon.Internal
-- | Type representing different validation errors.
--- Only 'ParseError' and 'ValidatorError' are exported, 'SigMismatch' and
--- 'NoVerifier' are used internally and should not be used by the user
+-- Only 'ParseError' and 'ValidatorError' are exported, @SigMismatch@ and
+-- @NoVerifier@ are used internally and should not be used by the user
data ValidationError = SigMismatch -- ^ Signatures do not match
| NoVerifier -- ^ No verifier can handle a given caveat
| ParseError String -- ^ A verifier had a parse error
| ValidatorError String -- ^ A verifier failed
deriving (Show,Eq)
--- | The 'Monoid' instance is written so 'SigMismatch' is an annihilator,
--- and 'NoVerifier' is the identity element
+-- | The 'Monoid' instance is written so @SigMismatch@ is an annihilator,
+-- and @NoVerifier@ is the identity element
instance Monoid ValidationError where
mempty = NoVerifier
NoVerifier `mappend` e = e