From 266c28d9bee4500089729cfdb34b330184939a1f Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Tue, 14 Apr 2020 10:15:24 -0500 Subject: [PATCH] Add new OAuth1 credential requirements for Twitter --- Frameworks/Account/URLRequest+RSWeb.swift | 3 +++ Frameworks/Secrets/Credentials.swift | 1 + Frameworks/Secrets/Secrets.swift.gyb | 2 +- Shared/ExtensionPoints/TwitterFeedProvider+Extensions.swift | 1 - 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Frameworks/Account/URLRequest+RSWeb.swift b/Frameworks/Account/URLRequest+RSWeb.swift index 8898ac613..2f47785a8 100755 --- a/Frameworks/Account/URLRequest+RSWeb.swift +++ b/Frameworks/Account/URLRequest+RSWeb.swift @@ -61,6 +61,9 @@ public extension URLRequest { case .oauthAccessToken: let auth = "OAuth \(credentials.secret)" setValue(auth, forHTTPHeaderField: "Authorization") + case .oauthAccessTokenSecret: + assertionFailure("Token secrets are used by OAuth1. Did you mean to use `OAuthSwift` instead of a URLRequest?") + break case .oauthRefreshToken: // While both access and refresh tokens are credentials, it seems the `Credentials` cases // enumerates how the identity of the user can be proved rather than diff --git a/Frameworks/Secrets/Credentials.swift b/Frameworks/Secrets/Credentials.swift index ef9884f5b..512012b1c 100644 --- a/Frameworks/Secrets/Credentials.swift +++ b/Frameworks/Secrets/Credentials.swift @@ -22,6 +22,7 @@ public enum CredentialsType: String { case readerBasic = "readerBasic" case readerAPIKey = "readerAPIKey" case oauthAccessToken = "oauthAccessToken" + case oauthAccessTokenSecret = "oauthAccessTokenSecret" case oauthRefreshToken = "oauthRefreshToken" } diff --git a/Frameworks/Secrets/Secrets.swift.gyb b/Frameworks/Secrets/Secrets.swift.gyb index a4870a595..1f92b37c7 100644 --- a/Frameworks/Secrets/Secrets.swift.gyb +++ b/Frameworks/Secrets/Secrets.swift.gyb @@ -2,7 +2,7 @@ %{ import os -secrets = ['FEED_WRANGLER_KEY', 'MERCURY_CLIENT_ID', 'MERCURY_CLIENT_SECRET', 'FEEDLY_CLIENT_ID', 'FEEDLY_CLIENT_SECRET'] +secrets = ['FEED_WRANGLER_KEY', 'MERCURY_CLIENT_ID', 'MERCURY_CLIENT_SECRET', 'FEEDLY_CLIENT_ID', 'FEEDLY_CLIENT_SECRET', 'TWITTER_CONSUMER_KEY', 'TWITTER_CONSUMER_SECRET'] def chunks(seq, size): return (seq[i:(i + size)] for i in range(0, len(seq), size)) diff --git a/Shared/ExtensionPoints/TwitterFeedProvider+Extensions.swift b/Shared/ExtensionPoints/TwitterFeedProvider+Extensions.swift index fc8cfe5b8..57ea02595 100644 --- a/Shared/ExtensionPoints/TwitterFeedProvider+Extensions.swift +++ b/Shared/ExtensionPoints/TwitterFeedProvider+Extensions.swift @@ -20,5 +20,4 @@ extension TwitterFeedProvider: ExtensionPoint { return ExtensionPointIdentifer.twitter(username) } - }