Statically load whether or not a key requires authentication before use (#357)

* Add protocol requirements

* Load auth settings.

* Updates.

* Update preview store

* Add lock icon
This commit is contained in:
Max Goedjen
2022-02-24 22:59:35 -08:00
committed by GitHub
parent ae7394f771
commit a1009d0dac
18 changed files with 129 additions and 58 deletions

View File

@@ -11,6 +11,7 @@ extension Preview {
let name: String
let algorithm = Algorithm.ellipticCurve
let keySize = 256
let requiresAuthentication: Bool = false
let publicKey = UUID().uuidString.data(using: .utf8)!
}
@@ -35,8 +36,12 @@ extension Preview {
self.secrets.append(contentsOf: new)
}
func sign(data: Data, with secret: Preview.Secret, for provenance: SigningRequestProvenance) throws -> SignedData {
return SignedData(data: data, requiredAuthentication: false)
func sign(data: Data, with secret: Preview.Secret, for provenance: SigningRequestProvenance) throws -> Data {
return data
}
func existingPersistedAuthenticationContext(secret: Preview.Secret) -> PersistedAuthenticationContext? {
nil
}
func persistAuthentication(secret: Preview.Secret, forDuration duration: TimeInterval) throws {

View File

@@ -20,7 +20,15 @@ struct SecretListItemView: View {
)
return NavigationLink(destination: SecretDetailView(secret: secret), tag: secret.id, selection: $activeSecret) {
Text(secret.name)
if secret.requiresAuthentication {
HStack {
Text(secret.name)
Spacer()
Image(systemName: "lock")
}
} else {
Text(secret.name)
}
}.contextMenu {
if store is AnySecretStoreModifiable {
Button(action: { isRenaming = true }) {