webauthn-swift
webauthn-swift copied to clipboard
A Swift library for implementing the WebAuthn spec
webauthn-swift
This package provides a Swift implementation of the WebAuthn API focused on making it easy to leverage the power of WebAuthn.
Getting Started
Adding the dependency
Add the following entry in your Package.swift
to start using WebAuthn
:
.package(url: "https://github.com/swift-server/webauthn-swift.git", from: "1.0.0-alpha")
and WebAuthn
dependency to your target:
.target(name: "MyApp", dependencies: [.product(name: "WebAuthn", package: "webauthn-swift")])
Setup
Configure your Relying Party with a WebAuthnManager
instance:
let webAuthnManager = WebAuthnManager(
configuration: WebAuthnManager.Configuration(
relyingPartyID: "example.com",
relyingPartyName: "My Fancy Web App",
relyingPartyOrigin: "https://example.com"
)
)
Registration
For a registration ceremony use the following two methods:
-
WebAuthnManager.beginRegistration()
-
WebAuthnManager.finishRegistration()
Authentication
For an authentication ceremony use the following two methods:
-
WebAuthnManager.beginAuthentication()
-
WebAuthnManager.finishAuthentication()
Credits
Swift WebAuthn is heavily inspired by existing WebAuthn libraries like py_webauthn and go-webauthn.