From ca730c9f3dab25afc7f594b044cb8cc0358be5f8 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 5 Dec 2020 16:46:03 +0800 Subject: [PATCH] NewsBlur now authenticates --- .../AccountFeedbin.imageset/Contents.json | 12 +-- .../feedbin-logo-filled-1.pdf | Bin 9260 -> 0 bytes .../feedbin-logo-filled.pdf | Bin 9260 -> 0 bytes .../AccountFeedbin.imageset/feedbin.pdf | Bin 0 -> 9278 bytes .../AccountNewsBlur.imageset/Newsblur-any.pdf | Bin 9560 -> 9541 bytes .../Sheets/AddFeedbinAccountView.swift | 2 +- .../Sheets/AddNewsBlurAccountView.swift | 72 ++++++++++++++++-- 7 files changed, 67 insertions(+), 19 deletions(-) delete mode 100644 Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled-1.pdf delete mode 100644 Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled.pdf create mode 100644 Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin.pdf diff --git a/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/Contents.json b/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/Contents.json index ec7826d65..1b0780896 100644 --- a/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/Contents.json +++ b/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/Contents.json @@ -1,17 +1,7 @@ { "images" : [ { - "filename" : "feedbin-logo-filled.pdf", - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "filename" : "feedbin-logo-filled-1.pdf", + "filename" : "feedbin.pdf", "idiom" : "universal" } ], diff --git a/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled-1.pdf b/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled-1.pdf deleted file mode 100644 index 72ff612eb66de5c9193a632895aff9986410d00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9260 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 Gfd2y-_xQvB diff --git a/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled.pdf b/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin-logo-filled.pdf deleted file mode 100644 index 72ff612eb66de5c9193a632895aff9986410d00c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9260 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 Gfd2y-_xQvB diff --git a/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin.pdf b/Multiplatform/Shared/Assets.xcassets/AccountFeedbin.imageset/feedbin.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8892e9db6f69e02e92f2a041afc1e245c678addb GIT binary patch literal 9278 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 NfkjU*r6P^>e*i&H5_SLp literal 0 HcmV?d00001 diff --git a/Multiplatform/Shared/Assets.xcassets/AccountNewsBlur.imageset/Newsblur-any.pdf b/Multiplatform/Shared/Assets.xcassets/AccountNewsBlur.imageset/Newsblur-any.pdf index 8b07ac74555c674a5dde502438c495705f4196a7..216dc4f8aae39276fd46a21d1f80790af0c0379f 100644 GIT binary patch delta 1942 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 diff --git a/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddFeedbinAccountView.swift b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddFeedbinAccountView.swift index e4ed3d52f..e97275a48 100644 --- a/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddFeedbinAccountView.swift +++ b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddFeedbinAccountView.swift @@ -30,8 +30,8 @@ struct AddFeedbinAccountView: View { HStack(spacing: 16) { VStack(alignment: .leading) { AccountType.feedbin.image() - .resizable() .frame(width: 50, height: 50) + Spacer() } VStack(alignment: .leading, spacing: 8) { diff --git a/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddNewsBlurAccountView.swift b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddNewsBlurAccountView.swift index 59c83189f..f8f6a9b38 100644 --- a/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddNewsBlurAccountView.swift +++ b/Multiplatform/macOS/Preferences/Preference Panes/Accounts/Account Preferences/Add Account/Sheets/AddNewsBlurAccountView.swift @@ -8,19 +8,29 @@ import SwiftUI import Account +import RSCore +import RSWeb +import Secrets + +fileprivate class AddNewsBlurViewModel: ObservableObject { + @Published var isAuthenticating: Bool = false + @Published var accountUpdateError: AccountUpdateErrors = .none + @Published var showError: Bool = false + @Published var username: String = "" + @Published var password: String = "" +} + struct AddNewsBlurAccountView: View { @Environment (\.presentationMode) var presentationMode - @State private var username: String = "" - @State private var password: String = "" + @StateObject private var model = AddNewsBlurViewModel() var body: some View { VStack { HStack(spacing: 16) { VStack(alignment: .leading) { AccountType.newsBlur.image() - .resizable() .frame(width: 50, height: 50) Spacer() } @@ -43,8 +53,8 @@ struct AddNewsBlurAccountView: View { Text("Password") } VStack(spacing: 8) { - TextField("me@email.com", text: $username) - SecureField("•••••••••••", text: $password) + TextField("me@email.com", text: $model.username) + SecureField("•••••••••••", text: $model.password) } } @@ -57,7 +67,9 @@ struct AddNewsBlurAccountView: View { Spacer() HStack(spacing: 8) { Spacer() - ProgressView().scaleEffect(CGSize(width: 0.5, height: 0.5)) + ProgressView() + .scaleEffect(CGSize(width: 0.5, height: 0.5)) + .hidden(!model.isAuthenticating) Button(action: { presentationMode.wrappedValue.dismiss() }, label: { @@ -72,7 +84,7 @@ struct AddNewsBlurAccountView: View { .frame(width: 60) }) .keyboardShortcut(.defaultAction) - .disabled(username.isEmpty && password.isEmpty) + .disabled(model.username.isEmpty || model.password.isEmpty) } } } @@ -81,6 +93,52 @@ struct AddNewsBlurAccountView: View { .frame(width: 400, height: 230) .textFieldStyle(RoundedBorderTextFieldStyle()) } + + private func authenticateNewsBlur() { + model.isAuthenticating = true + let credentials = Credentials(type: .newsBlurBasic, username: model.username, secret: model.password) + + Account.validateCredentials(type: .newsBlur, credentials: credentials) { result in + + self.model.isAuthenticating = false + + switch result { + case .success(let validatedCredentials): + + guard let validatedCredentials = validatedCredentials else { + self.model.accountUpdateError = .invalidUsernamePassword + self.model.showError = true + return + } + + let account = AccountManager.shared.createAccount(type: .newsBlur) + + do { + try account.removeCredentials(type: .newsBlurBasic) + try account.removeCredentials(type: .newsBlurSessionId) + try account.storeCredentials(credentials) + try account.storeCredentials(validatedCredentials) + account.refreshAll(completion: { result in + switch result { + case .success: + self.presentationMode.wrappedValue.dismiss() + case .failure(let error): + self.model.accountUpdateError = .other(error: error) + self.model.showError = true + } + }) + + } catch { + self.model.accountUpdateError = .keyChainError + self.model.showError = true + } + + case .failure: + self.model.accountUpdateError = .networkError + self.model.showError = true + } + } + } } struct AddNewsBlurAccountView_Previews: PreviewProvider {