| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.Hawk.Types
Contents
- data HeaderArtifacts
- haHash :: HeaderArtifacts -> Maybe ByteString
- haExt :: HeaderArtifacts -> Maybe ExtData
- haApp :: HeaderArtifacts -> Maybe Text
- haDlg :: HeaderArtifacts -> Maybe Text
- type ExtData = ByteString
- data PayloadInfo = PayloadInfo {}
- type ContentType = ByteString
- type ClientId = Text
- newtype Key = Key ByteString
- data HawkAlgo = (HawkAlgoCls alg, Show alg) => HawkAlgo alg
- class HawkAlgoCls a where
- newtype Key = Key ByteString
- data SHA1 :: * = SHA1
- data SHA256 :: * = SHA256
- readHawkAlgo :: String -> Maybe HawkAlgo
- data WwwAuthenticateHeader = WwwAuthenticateHeader {}
- data ServerAuthorizationHeader = ServerAuthorizationHeader {
- sahMac :: ByteString
- sahHash :: Maybe ByteString
- sahExt :: Maybe ExtData
- data MessageAuth = MessageAuth {}
Artifacts
data HeaderArtifacts Source #
Struct for attributes which will be encoded in the Hawk
Authorization header and included in the verification. The
terminology (and spelling) come from the original Javascript
implementation of Hawk.
Instances
haHash :: HeaderArtifacts -> Maybe ByteString Source #
Payload hash.
type ExtData = ByteString Source #
Extension data included in verification hash. This can be anything or nothing, depending on what the application needs.
data PayloadInfo Source #
Payload data and content type bundled up for convenience.
Constructors
| PayloadInfo | |
Fields | |
Instances
type ContentType = ByteString Source #
Value of Content-Type HTTP headers.
Credentials
Identifies a particular client so that their credentials can be looked up.
A user-supplied password or generated key.
Constructors
| Key ByteString |
A wrapper data type representing one of the supported HMAC
algorithms. Use HawkAlgo SHA1 or HawkAlgo SHA256.
Constructors
| (HawkAlgoCls alg, Show alg) => HawkAlgo alg |
class HawkAlgoCls a where Source #
The class of HMAC algorithms supported by the Hawk
protocol. Users of the Hawk module probably won't
directly need this.
Methods
hawkHash :: a -> ByteString -> ByteString Source #
Calculates the hash of a message. The result is encoded in Base64.
hawkMac :: a -> Key -> ByteString -> ByteString Source #
Calculates the hash-based MAC of a message. The result is encoded in Base64.
Instances
A user-supplied password or generated key.
Constructors
| Key ByteString |
readHawkAlgo :: String -> Maybe HawkAlgo Source #
Inverse of show, for parsing "algorithm" fields in JSON
structures.
Headers
data WwwAuthenticateHeader Source #
Represents the WWW-Authenticate header which the server uses to
respond when the client isn't authenticated.
Constructors
| WwwAuthenticateHeader | |
Fields
| |
Instances
data ServerAuthorizationHeader Source #
Represents the Server-Authorization header which the server
sends back to the client.
Constructors
| ServerAuthorizationHeader | |
Fields
| |
data MessageAuth Source #
Authorization attributes for a Hawk message. This is generated by
message and verified by
authenticateMessage.
Constructors
| MessageAuth | |
Fields
| |
Instances