webauthn-0.4.1.1: Relying party (server) implementation of the WebAuthn 2 specification
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Crypto.WebAuthn.Model.Kinds

Description

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

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.

Constructors

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 navigator.credentials.create() with a publicKey argument. See § 5 Web Authentication API for an introductory overview and § 1.3.1 Registration for implementation examples.

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 navigator.credentials.get() with a publicKey argument. See § 5 Web Authentication API for an introductory overview and § 1.3.3 Authentication for implementation examples.

Instances

Instances details
SingI 'Authentication Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

SingI 'Registration Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

Methods

sing :: Sing 'Registration #

type Sing Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

data ProtocolKind Source #

Authenticator protocols supported by webauthn attestations

Constructors

FidoU2F

FIDO U2F Protocol, supported via the fido-u2f attestation format

Fido2

FIDO 2 Protocol

Instances

Instances details
SingI 'Fido2 Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

Methods

sing :: Sing 'Fido2 #

SingI 'FidoU2F Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

Methods

sing :: Sing 'FidoU2F #

type Sing Source # 
Instance details

Defined in Crypto.WebAuthn.Model.Kinds

data SProtocolKind :: ProtocolKind -> Type where Source #

The singleton type for ProtocolKind

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.

Constructors

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.