plinth/browser/credentials/public_key

Types

pub type Algorithm {
  Ed25519
  ES256
  RS256
}

Constructors

  • Ed25519
  • ES256
  • RS256
pub type Assertion
pub type Attest
pub type Attestation {
  NoAttestation
  Direct
  Enterprise
  Indirect
}

Constructors

  • NoAttestation
  • Direct
  • Enterprise
  • Indirect
pub type AuthenticatorAttachement {
  Platform
  CrossPlatform
}

Constructors

  • Platform
  • CrossPlatform
pub type CreationOptions {
  CreationOptions(
    attestation: Attestation,
    attestation_formats: List(String),
    authenticator_attachement: Option(AuthenticatorAttachement),
    resident_key: Requirement,
    user_verification: Requirement,
    challenge: BitArray,
    exclude_credentials: List(#(BitArray, List(Transport))),
    public_key_credential_parameters: List(Algorithm),
    relaying_party_id: Option(String),
    relaying_party_name: String,
    timeout: Option(Int),
    user_id: BitArray,
    user_name: String,
    user_display_name: String,
    hints: List(Hint),
  )
}

Constructors

  • CreationOptions(
      attestation: Attestation,
      attestation_formats: List(String),
      authenticator_attachement: Option(AuthenticatorAttachement),
      resident_key: Requirement,
      user_verification: Requirement,
      challenge: BitArray,
      exclude_credentials: List(#(BitArray, List(Transport))),
      public_key_credential_parameters: List(Algorithm),
      relaying_party_id: Option(String),
      relaying_party_name: String,
      timeout: Option(Int),
      user_id: BitArray,
      user_name: String,
      user_display_name: String,
      hints: List(Hint),
    )
pub type Credential(t)
pub type Hint {
  SecurityKey
  ClientDevice
  HybridHint
}

Constructors

  • SecurityKey
  • ClientDevice
  • HybridHint
pub type NativeCreationOptions
pub type NativeRequestOptions
pub type RequestOptions {
  RequestOptions(
    allow_credentials: List(#(BitArray, List(Transport))),
    challenge: BitArray,
    hints: List(Hint),
    relaying_party_id: Option(String),
    timeout: Option(Int),
    user_verification: Requirement,
  )
}

Constructors

  • RequestOptions(
      allow_credentials: List(#(BitArray, List(Transport))),
      challenge: BitArray,
      hints: List(Hint),
      relaying_party_id: Option(String),
      timeout: Option(Int),
      user_verification: Requirement,
    )
pub type Requirement {
  Required
  Preferred
  Discouraged
}

Constructors

  • Required
  • Preferred
  • Discouraged
pub type Transport {
  Ble
  HybridTransport
  Internal
  Nfc
  Usb
}

Constructors

  • Ble
  • HybridTransport
  • Internal
  • Nfc
  • Usb

Functions

pub fn algorithm_to_number(algorithm: Algorithm) -> Int
pub fn attestation_object(
  credential: Credential(Attest),
) -> BitArray
pub fn authenticator_attachment(
  credential: Credential(a),
) -> AuthenticatorAttachement
pub fn authenticator_data(
  credential: Credential(Assertion),
) -> BitArray
pub fn client_data_json(credential: Credential(a)) -> BitArray
pub fn create(
  container: CredentialsContainer,
  options: CreationOptions,
) -> Promise(Result(Credential(Attest), String))
pub fn creation(
  challenge: BitArray,
  algorithm: Algorithm,
  relaying_party_name: String,
  user_id: BitArray,
  user_name: String,
  user_display_name: String,
) -> CreationOptions
pub fn do_create(
  container: CredentialsContainer,
  options: NativeCreationOptions,
) -> Promise(Result(Credential(Attest), String))
pub fn do_get(
  container: CredentialsContainer,
  options: NativeRequestOptions,
) -> Promise(Result(Credential(Assertion), String))
pub fn get(
  container: CredentialsContainer,
  options: RequestOptions,
) -> Promise(Result(Credential(Assertion), String))
pub fn get_authenticator_data(
  credential: Credential(Attest),
) -> BitArray
pub fn get_public_key(credential: Credential(Attest)) -> BitArray
pub fn get_public_key_algorithm(
  credential: Credential(Attest),
) -> BitArray
pub fn get_transports(credential: Credential(Attest)) -> BitArray
pub fn id(credential: Credential(a)) -> String

This property is a base64url encoded version of PublicKeyCredential.rawId.

pub fn is_conditional_mediation_available() -> Promise(Bool)
pub fn is_user_verifying_platform_authenticator_available() -> Promise(
  Bool,
)
pub fn parse_creation_options_from_json(
  options: Dynamic,
) -> Result(NativeCreationOptions, String)
pub fn parse_request_options_from_json(
  options: Dynamic,
) -> Result(NativeRequestOptions, String)
pub fn raw_id(credential: Credential(a)) -> BitArray
pub fn request(challenge: BitArray) -> RequestOptions
pub fn signature(credential: Credential(Assertion)) -> BitArray
pub fn to_json(credential: Credential(a)) -> Json
pub fn user_handle(credential: Credential(Assertion)) -> BitArray
Search Document