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
PublicKeyCredentialCreationOptions
and all its subtypes. Passed as the publicKey field to the create() method in step 2 of § 7.1 Registering a New CredentialPublicKeyCredentialRequestOptions
and all its subtypes. Passed as the publicKey field to the get() method in step 2 of § 7.2 Verifying an Authentication Assertion
and all its subtypes. Responses of the create() (in which casePublicKeyCredential
responseresponse ~
) and get() (in which caseAuthenticatorAttestationResponse
response ~
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 | |