Stability | experimental |
---|---|
Safe Haskell | None |
Language | Haskell2010 |
This module contains some useful kinds used throughout this library to ensure better type safety. Also included are some singleton types for these kinds via the singletons library
Synopsis
- data CeremonyKind
- data SCeremonyKind :: CeremonyKind -> Type where
- data ProtocolKind
- data SProtocolKind :: ProtocolKind -> Type where
- data AttestationKind
Documentation
data CeremonyKind Source #
(spec) A Haskell kind for a Webauthn ceremony. This is used throughout this library for extra type safety and API clarity.
Registration | (spec) The ceremony where a user,
a Relying Party, and
the user’s client (containing
at least one authenticator)
work in concert to create a
public key credential
and associate it with the user’s Relying Party
account. Note that this includes employing a
test of user presence
or user verification.
After a successful registration ceremony,
the user can be authenticated by an
authentication ceremony.
The WebAuthn registration ceremony is defined in
§ 7.1 Registering a New Credential,
and is initiated by the Relying Party calling
|
Authentication | (spec) The ceremony where a user, and the user’s client (containing at least one authenticator) work in concert to cryptographically prove to a Relying Party that the user controls the credential private key of a previously-registered public key credential (see Registration). Note that this includes a test of user presence or user verification. The WebAuthn authentication ceremony
is defined in § 7.2 Verifying an Authentication Assertion,
and is initiated by the Relying Party calling
|
Instances
SingI 'Registration Source # | |
Defined in Crypto.WebAuthn.Model.Kinds sing :: Sing 'Registration # | |
SingI 'Authentication Source # | |
Defined in Crypto.WebAuthn.Model.Kinds sing :: Sing 'Authentication # | |
type Sing Source # | |
Defined in Crypto.WebAuthn.Model.Kinds |
data SCeremonyKind :: CeremonyKind -> Type where Source #
The singleton type for CeremonyKind
Instances
Eq (SCeremonyKind c) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds (==) :: SCeremonyKind c -> SCeremonyKind c -> Bool # (/=) :: SCeremonyKind c -> SCeremonyKind c -> Bool # | |
Show (SCeremonyKind c) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds showsPrec :: Int -> SCeremonyKind c -> ShowS # show :: SCeremonyKind c -> String # showList :: [SCeremonyKind c] -> ShowS # | |
ToJSON (SCeremonyKind c) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds toJSON :: SCeremonyKind c -> Value # toEncoding :: SCeremonyKind c -> Encoding # toJSONList :: [SCeremonyKind c] -> Value # toEncodingList :: [SCeremonyKind c] -> Encoding # |
data ProtocolKind Source #
Authenticator protocols supported by webauthn attestations
data SProtocolKind :: ProtocolKind -> Type where Source #
The singleton type for ProtocolKind
SFidoU2F :: SProtocolKind 'FidoU2F | |
SFido2 :: SProtocolKind 'Fido2 |
Instances
Eq (SProtocolKind p) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds (==) :: SProtocolKind p -> SProtocolKind p -> Bool # (/=) :: SProtocolKind p -> SProtocolKind p -> Bool # | |
Show (SProtocolKind p) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds showsPrec :: Int -> SProtocolKind p -> ShowS # show :: SProtocolKind p -> String # showList :: [SProtocolKind p] -> ShowS # | |
ToJSON (SProtocolKind p) Source # | |
Defined in Crypto.WebAuthn.Model.Kinds toJSON :: SProtocolKind p -> Value # toEncoding :: SProtocolKind p -> Encoding # toJSONList :: [SProtocolKind p] -> Value # toEncodingList :: [SProtocolKind p] -> Encoding # |
data AttestationKind Source #
A Haskell kind for the attestation type, indicating whether we have verifiable information about the authenticator that created the public key credential.
Unverifiable | An unverifiable attestation type. This includes None and Self attestation. This kind indicates that we do not have any information about the authenticator model used. |
Verifiable ProtocolKind | A verifiable attestation type. This includes Basic, AttCA and AnonCA attestation. This kind indicates that we have verifiable information about the authenticator model used. |