@joyid/capacitor-native-passkey
The capacitor plugins of native passkey for Android and iOS
Install
npm install @joyid/capacitor-native-passkey
npx cap sync
API
isWebAuthnAvailable()
isWebAuthnAvailable() => Promise<{ value: boolean; }>
Returns: Promise<{ value: boolean; }>
create(...)
create(publicKeyCredentialCreationOptionsJSON: PublicKeyCredentialCreationOptionsJSON) => Promise<RegistrationResponseJSON>
Param | Type |
---|---|
publicKeyCredentialCreationOptionsJSON |
PublicKeyCredentialCreationOptionsJSON |
Returns: Promise<RegistrationResponseJSON>
get(...)
get(requestOptionsJSON: PublicKeyCredentialRequestOptionsJSON, useBrowserAutofill?: boolean | undefined) => Promise<AuthenticationResponseJSON>
Param | Type |
---|---|
requestOptionsJSON |
PublicKeyCredentialRequestOptionsJSON |
useBrowserAutofill |
boolean |
Returns: Promise<AuthenticationResponseJSON>
Interfaces
RegistrationResponseJSON
A slightly-modified RegistrationCredential to simplify working with ArrayBuffers that are Base64URL-encoded in the browser so that they can be sent as JSON to the server.
https://w3c.github.io/webauthn/#dictdef-registrationresponsejson
Prop | Type |
---|---|
id |
Base64URLString |
rawId |
Base64URLString |
response |
AuthenticatorAttestationResponseJSON |
authenticatorAttachment |
AuthenticatorAttachment |
clientExtensionResults |
AuthenticationExtensionsClientOutputs |
type |
PublicKeyCredentialType |
AuthenticatorAttestationResponseJSON
A slightly-modified AuthenticatorAttestationResponse to simplify working with ArrayBuffers that are Base64URL-encoded in the browser so that they can be sent as JSON to the server.
https://w3c.github.io/webauthn/#dictdef-authenticatorattestationresponsejson
Prop | Type |
---|---|
clientDataJSON |
Base64URLString |
attestationObject |
Base64URLString |
transports |
AuthenticatorTransportFuture[] |
AuthenticationExtensionsClientOutputs
Prop | Type |
---|---|
appid |
boolean |
credProps |
CredentialPropertiesOutput |
hmacCreateSecret |
boolean |
CredentialPropertiesOutput
Prop | Type |
---|---|
rk |
boolean |
PublicKeyCredentialCreationOptionsJSON
A variant of PublicKeyCredentialCreationOptions suitable for JSON transmission to the browser to (eventually) get passed into navigator.credentials.create(...) in the browser.
This should eventually get replaced with official TypeScript DOM types when WebAuthn L3 types eventually make it into the language:
https://w3c.github.io/webauthn/#dictdef-publickeycredentialcreationoptionsjson
Prop | Type |
---|---|
rp |
PublicKeyCredentialRpEntity |
user |
PublicKeyCredentialUserEntityJSON |
challenge |
Base64URLString |
pubKeyCredParams |
PublicKeyCredentialParameters[] |
timeout |
number |
excludeCredentials |
PublicKeyCredentialDescriptorJSON[] |
authenticatorSelection |
AuthenticatorSelectionCriteria |
attestation |
AttestationConveyancePreference |
extensions |
AuthenticationExtensionsClientInputs |
PublicKeyCredentialRpEntity
Prop | Type |
---|---|
id |
string |
PublicKeyCredentialUserEntityJSON
https://w3c.github.io/webauthn/#dictdef-publickeycredentialuserentityjson
Prop | Type |
---|---|
id |
string |
name |
string |
displayName |
string |
PublicKeyCredentialParameters
Prop | Type |
---|---|
alg |
COSEAlgorithmIdentifier |
type |
PublicKeyCredentialType |
PublicKeyCredentialDescriptorJSON
https://w3c.github.io/webauthn/#dictdef-publickeycredentialdescriptorjson
Prop | Type |
---|---|
id |
Base64URLString |
type |
PublicKeyCredentialType |
transports |
AuthenticatorTransportFuture[] |
AuthenticatorSelectionCriteria
Prop | Type |
---|---|
authenticatorAttachment |
AuthenticatorAttachment |
requireResidentKey |
boolean |
residentKey |
ResidentKeyRequirement |
userVerification |
UserVerificationRequirement |
AuthenticationExtensionsClientInputs
Prop | Type |
---|---|
appid |
string |
credProps |
boolean |
hmacCreateSecret |
boolean |
AuthenticationResponseJSON
A slightly-modified AuthenticationCredential to simplify working with ArrayBuffers that are Base64URL-encoded in the browser so that they can be sent as JSON to the server.
https://w3c.github.io/webauthn/#dictdef-authenticationresponsejson
Prop | Type |
---|---|
id |
Base64URLString |
rawId |
Base64URLString |
response |
AuthenticatorAssertionResponseJSON |
authenticatorAttachment |
AuthenticatorAttachment |
clientExtensionResults |
AuthenticationExtensionsClientOutputs |
type |
PublicKeyCredentialType |
AuthenticatorAssertionResponseJSON
A slightly-modified AuthenticatorAssertionResponse to simplify working with ArrayBuffers that are Base64URL-encoded in the browser so that they can be sent as JSON to the server.
https://w3c.github.io/webauthn/#dictdef-authenticatorassertionresponsejson
Prop | Type |
---|---|
clientDataJSON |
Base64URLString |
authenticatorData |
Base64URLString |
signature |
Base64URLString |
userHandle |
string |
PublicKeyCredentialRequestOptionsJSON
A variant of PublicKeyCredentialRequestOptions suitable for JSON transmission to the browser to (eventually) get passed into navigator.credentials.get(...) in the browser.
Prop | Type |
---|---|
challenge |
Base64URLString |
timeout |
number |
rpId |
string |
allowCredentials |
PublicKeyCredentialDescriptorJSON[] |
userVerification |
UserVerificationRequirement |
extensions |
AuthenticationExtensionsClientInputs |
Type Aliases
Base64URLString
An attempt to communicate that this isn't just any string, but a Base64URL-encoded string
string
AuthenticatorTransportFuture
A super class of TypeScript's AuthenticatorTransport
that includes support for the latest
transports. Should eventually be replaced by TypeScript's when TypeScript gets updated to
know about it (sometime after 4.6.3)
'ble' | 'internal' | 'nfc' | 'usb' | 'cable' | 'hybrid'
AuthenticatorAttachment
"cross-platform" | "platform"
PublicKeyCredentialType
"public-key"
COSEAlgorithmIdentifier
number
ResidentKeyRequirement
"discouraged" | "preferred" | "required"
UserVerificationRequirement
"discouraged" | "preferred" | "required"
AttestationConveyancePreference
"direct" | "enterprise" | "indirect" | "none"