Skip to content

Latest commit

 

History

History
24 lines (19 loc) · 1.25 KB

README.md

File metadata and controls

24 lines (19 loc) · 1.25 KB

LibFido2Swift is a Swift package wrapper around the libfido2 C library

Currently only getting an assertion is implemented (used for logging in in a WebAuthn flow)

Example Use:

// Base64Url encoded challenge string
let challengeUrl = "ZWxpZmtqa2dzYWxoamoycGlqb3Jsc2VmZGRzZGZkc2ZkZGEyZTM"
// Relying party ID
let rpId = "example.com"
// A list of valid credentials to use (provided by the relying party)
let validCreds = ["ZHNmbGRrc2pma2xhanNlbGZhZWtmamVzbGZlYWZhZWY="]

let fido2 = FIDO2()
let response = try fido2.respondToChallenge(args: ChallengeArgs(rpId: rpId,
                                                                validCredentials:
                                                                validCreds,
                                                                devPin: "123456", // The device PIN 
                                                                challenge: FIDO2.base64urlToBase64(base64url: challengeUrl),
                                                                origin: "https://example.com"))

This package bundles binary frameworks for libfido2, libcbor, and libcrypto. The licences for these are located with the respective library binary files in the Frameworks folder