Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,17 @@ import Foundation
public struct PublicKeyCredentialRequestOptions: Sendable {
/// A challenge that the authenticator signs, along with other data, when producing an authentication assertion
///
/// When encoding using `Encodable` this is encoded as base64url.
public var challenge: [UInt8]
/// The Relying Party should store the challenge temporarily until the authentication flow is complete. When encoding using `Encodable` this is encoded as base64url.
///
/// - Warning: Although the challenge can be changed, doing so is not recommended and can lead to an insecure implementation of the WebAuthn protocol. See ``setUnsafeChallenge(_:)``.
public private(set) var challenge: [UInt8]

/// Unsafely change the challenge that will be delivered to the client.
///
/// - Warning: Although the challenge can be changed, doing so is not recommended and can lead to an insecure implementation of the WebAuthn protocol.
public mutating func setUnsafeChallenge(_ newValue: [UInt8]) {
challenge = newValue
}

/// A time, in seconds, that the caller is willing to wait for the call to complete. This is treated as a
/// hint, and may be overridden by the client.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,16 @@ public struct PublicKeyCredentialCreationOptions: Sendable {
///
/// The Relying Party should store the challenge temporarily until the registration flow is complete. When
/// encoding using `Encodable`, the challenge is base64url encoded.
public let challenge: [UInt8]
///
/// - Warning: Although the challenge can be changed, dooing so is not recommended and can lead to an insecure implementation of the WebAuthn protocol. See ``setUnsafeChallenge(_:)``.
public private(set) var challenge: [UInt8]

/// Unsafely change the challenge that will be delivered to the client.
///
/// - Warning: Although the challenge can be changed, doing so is not recommended and can lead to an insecure implementation of the WebAuthn protocol.
public mutating func setUnsafeChallenge(_ newValue: [UInt8]) {
challenge = newValue
}

/// Contains names and an identifier for the user account performing the registration
public var user: PublicKeyCredentialUserEntity
Expand Down
Loading