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 # |