webauthn-0: Web Authentication API

LicenseBSD3
MaintainerFumiaki Kinoshita <fumiexcel@gmail.com>
Safe HaskellNone
LanguageHaskell2010

WebAuthn

Contents

Description

Web Authentication API Verification library

Synopsis

Basic

data TokenBinding Source #

state of the Token Binding protocol (unsupported)

data Origin Source #

Constructors

Origin 
Instances
Eq Origin Source # 
Instance details

Defined in WebAuthn.Types

Methods

(==) :: Origin -> Origin -> Bool #

(/=) :: Origin -> Origin -> Bool #

Ord Origin Source # 
Instance details

Defined in WebAuthn.Types

Show Origin Source # 
Instance details

Defined in WebAuthn.Types

FromJSON Origin Source # 
Instance details

Defined in WebAuthn.Types

data User Source #

  1. 4.3. User Account Parameters for Credential Generation

Constructors

User 
Instances
Eq User Source # 
Instance details

Defined in WebAuthn.Types

Methods

(==) :: User -> User -> Bool #

(/=) :: User -> User -> Bool #

Show User Source # 
Instance details

Defined in WebAuthn.Types

Methods

showsPrec :: Int -> User -> ShowS #

show :: User -> String #

showList :: [User] -> ShowS #

Generic User Source # 
Instance details

Defined in WebAuthn.Types

Associated Types

type Rep User :: Type -> Type #

Methods

from :: User -> Rep User x #

to :: Rep User x -> User #

Serialise User Source # 
Instance details

Defined in WebAuthn.Types

type Rep User Source # 
Instance details

Defined in WebAuthn.Types

type Rep User = D1 (MetaData "User" "WebAuthn.Types" "webauthn-0-D7kkv1m3eu7AMrO2q5jdsU" False) (C1 (MetaCons "User" PrefixI True) (S1 (MetaSel (Just "userId") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 ByteString) :*: S1 (MetaSel (Just "userDisplayName") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text)))

newtype Challenge Source #

  1. 1. Cryptographic Challenges

Constructors

Challenge 

generateChallenge :: Int -> IO Challenge Source #

Generate a cryptographic challenge (13.1).

data CollectedClientData Source #

  1. 10.1. Client Data Used in WebAuthn Signatures (dictionary CollectedClientData)

data AttestedCredentialData Source #

  1. 4.1. Attested Credential Data
Instances
Eq AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

Show AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

Generic AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

Associated Types

type Rep AttestedCredentialData :: Type -> Type #

ToJSON AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

FromJSON AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

type Rep AttestedCredentialData Source # 
Instance details

Defined in WebAuthn.Types

type Rep AttestedCredentialData = D1 (MetaData "AttestedCredentialData" "WebAuthn.Types" "webauthn-0-D7kkv1m3eu7AMrO2q5jdsU" False) (C1 (MetaCons "AttestedCredentialData" PrefixI True) (S1 (MetaSel (Just "aaguid") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 AAGUID) :*: (S1 (MetaSel (Just "credentialId") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 CredentialId) :*: S1 (MetaSel (Just "credentialPublicKey") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 CredentialPublicKey))))

newtype AAGUID Source #

AAGUID of the authenticator

Constructors

AAGUID 

Fields

Instances
Eq AAGUID Source # 
Instance details

Defined in WebAuthn.Types

Methods

(==) :: AAGUID -> AAGUID -> Bool #

(/=) :: AAGUID -> AAGUID -> Bool #

Show AAGUID Source # 
Instance details

Defined in WebAuthn.Types

ToJSON AAGUID Source # 
Instance details

Defined in WebAuthn.Types

FromJSON AAGUID Source # 
Instance details

Defined in WebAuthn.Types

newtype CredentialPublicKey Source #

credential public key encoded in COSE_Key format

newtype CredentialId Source #

A probabilistically-unique byte sequence identifying a public key credential source and its authentication assertions.

Constructors

CredentialId 

verfication

registerCredential Source #

Arguments

:: Challenge 
-> RelyingParty 
-> Maybe Text

Token Binding ID in base64

-> Bool

require user verification?

-> ByteString

clientDataJSON

-> ByteString

attestationObject

-> Either VerificationFailure AttestedCredentialData 
  1. 1. Registering a New Credential

verify Source #

Arguments

:: Challenge 
-> RelyingParty 
-> Maybe Text

Token Binding ID in base64

-> Bool

require user verification?

-> ByteString

clientDataJSON

-> ByteString

authenticatorData

-> ByteString

signature

-> CredentialPublicKey

public key

-> Either VerificationFailure () 
  1. 2. Verifying an Authentication Assertion