You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by hu...@apache.org on 2019/06/25 17:55:40 UTC
[incubator-gobblin] branch master updated: [GOBBLIN-813] Make SFDC
connector support encrypted Salesforce client id and client secret
This is an automated email from the ASF dual-hosted git repository.
hutran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git
The following commit(s) were added to refs/heads/master by this push:
new a1893ba [GOBBLIN-813] Make SFDC connector support encrypted Salesforce client id and client secret
a1893ba is described below
commit a1893baec65fbb8f123467fb0359384accc4a66b
Author: Haoji Wu <ho...@linkedin.com>
AuthorDate: Tue Jun 25 10:55:33 2019 -0700
[GOBBLIN-813] Make SFDC connector support encrypted Salesforce client id and client secret
When reading client id and client secret from
state properties,
SalesforceConnector will use
PasswordManager.readPassword() to decrypt
it.
This feature is controlled by
source.conn.decrypt.client.id.secret and default
is disabled
Closes #2677 from haojiwu/support_encrypted_salesf
orce_client_id_secret
---
.../java/org/apache/gobblin/configuration/ConfigurationKeys.java | 1 +
.../main/java/org/apache/gobblin/salesforce/SalesforceConnector.java | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
index 8744c0d..c438e77 100644
--- a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
+++ b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
@@ -597,6 +597,7 @@ public class ConfigurationKeys {
public static final int SOURCE_CONN_DEFAULT_PORT = 22;
public static final String SOURCE_CONN_SID = SOURCE_CONN_PREFIX + "sid";
public static final String SOURCE_CONN_REFRESH_TOKEN = SOURCE_CONN_PREFIX + "refresh.token";
+ public static final String SOURCE_CONN_DECRYPT_CLIENT_SECRET = SOURCE_CONN_PREFIX + "decrypt.client.id.secret";
/**
diff --git a/gobblin-salesforce/src/main/java/org/apache/gobblin/salesforce/SalesforceConnector.java b/gobblin-salesforce/src/main/java/org/apache/gobblin/salesforce/SalesforceConnector.java
index 6ba7965..7683e30 100644
--- a/gobblin-salesforce/src/main/java/org/apache/gobblin/salesforce/SalesforceConnector.java
+++ b/gobblin-salesforce/src/main/java/org/apache/gobblin/salesforce/SalesforceConnector.java
@@ -66,6 +66,11 @@ public class SalesforceConnector extends RestApiConnector {
log.debug("Authenticating salesforce");
String clientId = this.state.getProp(ConfigurationKeys.SOURCE_CONN_CLIENT_ID);
String clientSecret = this.state.getProp(ConfigurationKeys.SOURCE_CONN_CLIENT_SECRET);
+ if (this.state.getPropAsBoolean(ConfigurationKeys.SOURCE_CONN_DECRYPT_CLIENT_SECRET, false)) {
+ PasswordManager passwordManager = PasswordManager.getInstance(this.state);
+ clientId = passwordManager.readPassword(clientId);
+ clientSecret = passwordManager.readPassword(clientSecret);
+ }
String host = this.state.getProp(ConfigurationKeys.SOURCE_CONN_HOST_NAME);
List<NameValuePair> formParams = Lists.newArrayList();