| Stability | experimental |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
Crypto.WebAuthn.Model.WebIDL.Types
Contents
Description
This module models direct representations of JavaScript objects interacting with the
create()
and get() methods, as used by Webauthn2.
Note that these types don't encode the semantics of their values. E.g. if the JavaScript object has a DOMString
field, but only values "foo" and "bar" are possible, the type is still encoded as a generic DOMString.
This allows us to match the specification very closely, deferring decoding of these values to another module.
This module also implements FromJSON and ToJSON instances of its types, which are compatible with
webauthn-json's JSON schema.
The defined types are
PublicKeyCredentialCreationOptionsand all its subtypes. Passed as the publicKey field to the create() method in step 2 of § 7.1 Registering a New CredentialPublicKeyCredentialRequestOptionsand all its subtypes. Passed as the publicKey field to the get() method in step 2 of § 7.2 Verifying an Authentication Assertionand all its subtypes. Responses of the create() (in which casePublicKeyCredentialresponseresponse ~) and get() (in which caseAuthenticatorAttestationResponseresponse ~methods.AuthenticatorAssertionResponse
Synopsis
- data PublicKeyCredentialCreationOptions = PublicKeyCredentialCreationOptions {
- rp :: PublicKeyCredentialRpEntity
- user :: PublicKeyCredentialUserEntity
- challenge :: BufferSource
- pubKeyCredParams :: [PublicKeyCredentialParameters]
- timeout :: Maybe UnsignedLong
- excludeCredentials :: Maybe [PublicKeyCredentialDescriptor]
- authenticatorSelection :: Maybe AuthenticatorSelectionCriteria
- attestation :: Maybe DOMString
- extensions :: Maybe (Map Text Value)
- data PublicKeyCredentialRequestOptions = PublicKeyCredentialRequestOptions {}
- data PublicKeyCredential response = PublicKeyCredential {
- rawId :: ArrayBuffer
- response :: response
- clientExtensionResults :: Map Text Value
- data AuthenticatorAttestationResponse = AuthenticatorAttestationResponse {}
- data AuthenticatorAssertionResponse = AuthenticatorAssertionResponse {}
- data PublicKeyCredentialRpEntity = PublicKeyCredentialRpEntity {}
- data PublicKeyCredentialUserEntity = PublicKeyCredentialUserEntity {
- id :: BufferSource
- displayName :: DOMString
- name :: DOMString
- data PublicKeyCredentialParameters = PublicKeyCredentialParameters {}
- type COSEAlgorithmIdentifier = Long
- data PublicKeyCredentialDescriptor = PublicKeyCredentialDescriptor {
- littype :: DOMString
- id :: BufferSource
- transports :: Maybe [DOMString]
- data AuthenticatorSelectionCriteria = AuthenticatorSelectionCriteria {}
Top-level types
data PublicKeyCredentialCreationOptions Source #
Constructors
Instances
data PublicKeyCredentialRequestOptions Source #
Constructors
| PublicKeyCredentialRequestOptions | |
Instances
data PublicKeyCredential response Source #
Constructors
| PublicKeyCredential | |
Fields
| |
Instances
Nested types
data AuthenticatorAttestationResponse Source #
Constructors
| AuthenticatorAttestationResponse | |
Fields
| |
Instances
data AuthenticatorAssertionResponse Source #
Constructors
| AuthenticatorAssertionResponse | |
Instances
data PublicKeyCredentialRpEntity Source #
Instances
data PublicKeyCredentialUserEntity Source #
Constructors
| PublicKeyCredentialUserEntity | |
Fields
| |
Instances
data PublicKeyCredentialParameters Source #
Constructors
| PublicKeyCredentialParameters | |
Instances
type COSEAlgorithmIdentifier = Long Source #
data PublicKeyCredentialDescriptor Source #
Constructors
| PublicKeyCredentialDescriptor | |
Fields
| |
Instances
data AuthenticatorSelectionCriteria Source #
Constructors
| AuthenticatorSelectionCriteria | |