| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Crypto.Paseto.Token.Encoding
Contents
Description
PASETO token encoding and decoding in accordance with the message format defined in the specification.
Synopsis
- encode :: Token v p -> Text
- encodeSomeToken :: SomeToken -> Text
- data CommonDecodingError
- renderCommonDecodingError :: CommonDecodingError -> Text
- data V3LocalDecodingError
- renderV3LocalDecodingError :: V3LocalDecodingError -> Text
- decodeTokenV3Local :: SymmetricKey V3 -> [ValidationRule] -> Maybe Footer -> Maybe ImplicitAssertion -> Text -> Either V3LocalDecodingError (ValidatedToken V3 Local)
- data V3PublicDecodingError
- renderV3PublicDecodingError :: V3PublicDecodingError -> Text
- decodeTokenV3Public :: VerificationKey V3 -> [ValidationRule] -> Maybe Footer -> Maybe ImplicitAssertion -> Text -> Either V3PublicDecodingError (ValidatedToken V3 Public)
- data V4LocalDecodingError
- renderV4LocalDecodingError :: V4LocalDecodingError -> Text
- decodeTokenV4Local :: SymmetricKey V4 -> [ValidationRule] -> Maybe Footer -> Maybe ImplicitAssertion -> Text -> Either V4LocalDecodingError (ValidatedToken V4 Local)
- data V4PublicDecodingError
- renderV4PublicDecodingError :: V4PublicDecodingError -> Text
- decodeTokenV4Public :: VerificationKey V4 -> [ValidationRule] -> Maybe Footer -> Maybe ImplicitAssertion -> Text -> Either V4PublicDecodingError (ValidatedToken V4 Public)
- data ValidatedToken v p = ValidatedToken {}
Encoding
encode :: Token v p -> Text Source #
Encode a PASETO token as human-readable text according to the message format defined in the specification.
encodeSomeToken :: SomeToken -> Text Source #
Encode a PASETO token as human-readable text according to the message format defined in the specification.
Decoding
data CommonDecodingError Source #
Common error decoding a PASETO token.
Constructors
| CommonDecodingParseError !ParseError | Error parsing the token. |
| CommonDecodingClaimsValidationError !(NonEmpty ValidationError) | Token claims validation error. |
Instances
| Show CommonDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> CommonDecodingError -> ShowS # show :: CommonDecodingError -> String # showList :: [CommonDecodingError] -> ShowS # | |
| Eq CommonDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: CommonDecodingError -> CommonDecodingError -> Bool # (/=) :: CommonDecodingError -> CommonDecodingError -> Bool # | |
renderCommonDecodingError :: CommonDecodingError -> Text Source #
Render a CommonDecodingError as Text.
data V3LocalDecodingError Source #
Error decoding a version 3 local PASETO token.
Constructors
| V3LocalDecodingCommonError !CommonDecodingError | Common decoding error. |
| V3LocalDecodingDecryptionError !DecryptionError | Decryption error. |
Instances
| Show V3LocalDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> V3LocalDecodingError -> ShowS # show :: V3LocalDecodingError -> String # showList :: [V3LocalDecodingError] -> ShowS # | |
| Eq V3LocalDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: V3LocalDecodingError -> V3LocalDecodingError -> Bool # (/=) :: V3LocalDecodingError -> V3LocalDecodingError -> Bool # | |
renderV3LocalDecodingError :: V3LocalDecodingError -> Text Source #
Render a V3LocalDecodingError as Text.
Arguments
| :: SymmetricKey V3 | Symmetric key. |
| -> [ValidationRule] | Validation rules. |
| -> Maybe Footer | Optional footer to authenticate. |
| -> Maybe ImplicitAssertion | Optional implicit assertion to authenticate. |
| -> Text | Encoded PASETO token. |
| -> Either V3LocalDecodingError (ValidatedToken V3 Local) |
data V3PublicDecodingError Source #
Error decoding a version 3 public PASETO token.
Constructors
| V3PublicDecodingCommonError !CommonDecodingError | Common decoding error. |
| V3PublicDecodingVerificationError !VerificationError | Cryptographic signature verification error. |
Instances
| Show V3PublicDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> V3PublicDecodingError -> ShowS # show :: V3PublicDecodingError -> String # showList :: [V3PublicDecodingError] -> ShowS # | |
| Eq V3PublicDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: V3PublicDecodingError -> V3PublicDecodingError -> Bool # (/=) :: V3PublicDecodingError -> V3PublicDecodingError -> Bool # | |
renderV3PublicDecodingError :: V3PublicDecodingError -> Text Source #
Render a V3PublicDecodingError as Text.
Arguments
| :: VerificationKey V3 | Verification key. |
| -> [ValidationRule] | Validation rules. |
| -> Maybe Footer | Optional footer to authenticate. |
| -> Maybe ImplicitAssertion | Optional implicit assertion to authenticate. |
| -> Text | Encoded PASETO token. |
| -> Either V3PublicDecodingError (ValidatedToken V3 Public) |
data V4LocalDecodingError Source #
Error decoding a version 4 local PASETO token.
Constructors
| V4LocalDecodingCommonError !CommonDecodingError | Common decoding error. |
| V4LocalDecodingDecryptionError !DecryptionError | Decryption error. |
Instances
| Show V4LocalDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> V4LocalDecodingError -> ShowS # show :: V4LocalDecodingError -> String # showList :: [V4LocalDecodingError] -> ShowS # | |
| Eq V4LocalDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: V4LocalDecodingError -> V4LocalDecodingError -> Bool # (/=) :: V4LocalDecodingError -> V4LocalDecodingError -> Bool # | |
renderV4LocalDecodingError :: V4LocalDecodingError -> Text Source #
Render a V4LocalDecodingError as Text.
Arguments
| :: SymmetricKey V4 | Symmetric key. |
| -> [ValidationRule] | Validation rules. |
| -> Maybe Footer | Optional footer to authenticate. |
| -> Maybe ImplicitAssertion | Optional implicit assertion to authenticate. |
| -> Text | Encoded PASETO token. |
| -> Either V4LocalDecodingError (ValidatedToken V4 Local) |
data V4PublicDecodingError Source #
Error decoding a version 4 public PASETO token.
Constructors
| V4PublicDecodingCommonError !CommonDecodingError | Common decoding error. |
| V4PublicDecodingVerificationError !VerificationError | Cryptographic signature verification error. |
Instances
| Show V4PublicDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> V4PublicDecodingError -> ShowS # show :: V4PublicDecodingError -> String # showList :: [V4PublicDecodingError] -> ShowS # | |
| Eq V4PublicDecodingError Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: V4PublicDecodingError -> V4PublicDecodingError -> Bool # (/=) :: V4PublicDecodingError -> V4PublicDecodingError -> Bool # | |
renderV4PublicDecodingError :: V4PublicDecodingError -> Text Source #
Render a V4PublicDecodingError as Text.
Arguments
| :: VerificationKey V4 | Verification key. |
| -> [ValidationRule] | Validation rules. |
| -> Maybe Footer | Optional footer to authenticate. |
| -> Maybe ImplicitAssertion | Optional implicit assertion to authenticate. |
| -> Text | Encoded PASETO token. |
| -> Either V4PublicDecodingError (ValidatedToken V4 Public) |
Validated token
data ValidatedToken v p Source #
PASETO token which has been decoded and validated.
Constructors
| ValidatedToken | |
Instances
| Show (ValidatedToken v p) Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods showsPrec :: Int -> ValidatedToken v p -> ShowS # show :: ValidatedToken v p -> String # showList :: [ValidatedToken v p] -> ShowS # | |
| Eq (ValidatedToken v p) Source # | |
Defined in Crypto.Paseto.Token.Encoding Methods (==) :: ValidatedToken v p -> ValidatedToken v p -> Bool # (/=) :: ValidatedToken v p -> ValidatedToken v p -> Bool # | |