Files

27 lines
985 B
Swift

// SPDX-FileCopyrightText: 2026 Kaede Akino
// SPDX-License-Identifier: GPL-3.0-only
import Foundation
/// A reference to a credential on a physical authenticator. Contains no private key.
public nonisolated struct SecurityKeyCredential: Codable, Hashable, Sendable {
public static let relyingParty = "termind.akinokaede.com"
public var credentialID: Data
public var publicKeyX963: Data
public enum UserVerification: String, Codable, CaseIterable, Sendable {
case required, preferred, discouraged
}
public var userVerification: UserVerification
public var requiresUserPresence: Bool
public init(
credentialID: Data, publicKeyX963: Data, userVerification: UserVerification = .preferred,
requiresUserPresence: Bool = true
) {
self.credentialID = credentialID
self.publicKeyX963 = publicKeyX963
self.userVerification = userVerification
self.requiresUserPresence = requiresUserPresence
}
}