diff --git a/workflow/engine/classes/WsBase.php b/workflow/engine/classes/WsBase.php
index ae11abe97..ff4c22fc8 100644
--- a/workflow/engine/classes/WsBase.php
+++ b/workflow/engine/classes/WsBase.php
@@ -1,5 +1,6 @@
getRow();
$arrayConfigAux = $row;
$arrayConfigAux["SMTPSecure"] = $row["SMTPSECURE"];
+ $arrayConfigAux["OAUTH_CLIENT_ID"] = !empty($row["OAUTH_CLIENT_ID"]) ?
+ Crypt::decryptString($row["OAUTH_CLIENT_ID"]) : '';
+ $arrayConfigAux["OAUTH_CLIENT_SECRET"] = !empty($row["OAUTH_CLIENT_SECRET"]) ?
+ Crypt::decryptString($row["OAUTH_CLIENT_SECRET"]) : '';
+ $arrayConfigAux["OAUTH_REFRESH_TOKEN"] = !empty($row["OAUTH_REFRESH_TOKEN"]) ?
+ Crypt::decryptString($row["OAUTH_REFRESH_TOKEN"]) : '';
}
}
}
diff --git a/workflow/engine/classes/model/map/EmailServerMapBuilder.php b/workflow/engine/classes/model/map/EmailServerMapBuilder.php
index db79096b7..c9981fb5a 100644
--- a/workflow/engine/classes/model/map/EmailServerMapBuilder.php
+++ b/workflow/engine/classes/model/map/EmailServerMapBuilder.php
@@ -95,11 +95,11 @@ class EmailServerMapBuilder
$tMap->addColumn('MESS_DEFAULT', 'MessDefault', 'int', CreoleTypes::INTEGER, true, null);
- $tMap->addColumn('OAUTH_CLIENT_ID', 'OauthClientId', 'string', CreoleTypes::VARCHAR, true, 256);
+ $tMap->addColumn('OAUTH_CLIENT_ID', 'OauthClientId', 'string', CreoleTypes::VARCHAR, true, 512);
- $tMap->addColumn('OAUTH_CLIENT_SECRET', 'OauthClientSecret', 'string', CreoleTypes::VARCHAR, true, 256);
+ $tMap->addColumn('OAUTH_CLIENT_SECRET', 'OauthClientSecret', 'string', CreoleTypes::VARCHAR, true, 512);
- $tMap->addColumn('OAUTH_REFRESH_TOKEN', 'OauthRefreshToken', 'string', CreoleTypes::VARCHAR, true, 256);
+ $tMap->addColumn('OAUTH_REFRESH_TOKEN', 'OauthRefreshToken', 'string', CreoleTypes::VARCHAR, true, 512);
$tMap->addValidator('MESS_ENGINE', 'validValues', 'propel.validator.ValidValuesValidator', 'MAIL|PHPMAILER|XOAUTH2|GMAILAPI', 'Please enter a valid value for MESS_ENGINE');
diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml
index f0b80e808..60d5d3f60 100644
--- a/workflow/engine/config/schema.xml
+++ b/workflow/engine/config/schema.xml
@@ -5004,9 +5004,9 @@
-
-
-
+
+
+
diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql
index b89e52241..9cc363687 100644
--- a/workflow/engine/data/mysql/schema.sql
+++ b/workflow/engine/data/mysql/schema.sql
@@ -2781,9 +2781,9 @@ CREATE TABLE `EMAIL_SERVER`
`MESS_TRY_SEND_INMEDIATLY` INTEGER default 0 NOT NULL,
`MAIL_TO` VARCHAR(256) default '',
`MESS_DEFAULT` INTEGER default 0 NOT NULL,
- `OAUTH_CLIENT_ID` VARCHAR(256) default '' NOT NULL,
- `OAUTH_CLIENT_SECRET` VARCHAR(256) default '' NOT NULL,
- `OAUTH_REFRESH_TOKEN` VARCHAR(256) default '' NOT NULL,
+ `OAUTH_CLIENT_ID` VARCHAR(512) default '' NOT NULL,
+ `OAUTH_CLIENT_SECRET` VARCHAR(512) default '' NOT NULL,
+ `OAUTH_REFRESH_TOKEN` VARCHAR(512) default '' NOT NULL,
PRIMARY KEY (`MESS_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php
index 3b1166cd1..6af4c2957 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/EmailServer.php
@@ -5,6 +5,7 @@ use AppMessage;
use Bootstrap;
use Exception;
use G;
+use Illuminate\Support\Facades\Crypt;
use ProcessMaker\Core\System;
use SpoolRun;
use TemplatePower;
@@ -809,6 +810,13 @@ class EmailServer
$arrayData["MESS_PASSWORD"] = G::encrypt($arrayData["MESS_PASSWORD"], "EMAILENCRYPT");
}
+ $arrayData["OAUTH_CLIENT_ID"] = !empty($arrayData["OAUTH_CLIENT_ID"]) ?
+ Crypt::encryptString($arrayData["OAUTH_CLIENT_ID"]) : "";
+ $arrayData["OAUTH_CLIENT_SECRET"] = !empty($arrayData["OAUTH_CLIENT_SECRET"]) ?
+ Crypt::encryptString($arrayData["OAUTH_CLIENT_SECRET"]) : "";
+ $arrayData["OAUTH_REFRESH_TOKEN"] = !empty($arrayData["OAUTH_REFRESH_TOKEN"]) ?
+ Crypt::encryptString($arrayData["OAUTH_REFRESH_TOKEN"]) : "";
+
$emailServer->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
$emailServerUid = \ProcessMaker\Util\Common::generateUID();
@@ -981,6 +989,13 @@ class EmailServer
}
}
+ $arrayData["OAUTH_CLIENT_ID"] = !empty($arrayData["OAUTH_CLIENT_ID"]) ?
+ Crypt::encryptString($arrayData["OAUTH_CLIENT_ID"]) : "";
+ $arrayData["OAUTH_CLIENT_SECRET"] = !empty($arrayData["OAUTH_CLIENT_SECRET"]) ?
+ Crypt::encryptString($arrayData["OAUTH_CLIENT_SECRET"]) : "";
+ $arrayData["OAUTH_REFRESH_TOKEN"] = !empty($arrayData["OAUTH_REFRESH_TOKEN"]) ?
+ Crypt::encryptString($arrayData["OAUTH_REFRESH_TOKEN"]) : "";
+
$emailServer->fromArray($arrayData, \BasePeer::TYPE_FIELDNAME);
if ($emailServer->validate()) {
@@ -1197,9 +1212,12 @@ class EmailServer
$arrayData["MESS_PASSWORD_HIDDEN"] = '';
$arrayData["MESS_EXECUTE_EVERY"] = '';
$arrayData["MESS_SEND_MAX"] = '';
- $arrayData["OAUTH_CLIENT_ID"] = $row["OAUTH_CLIENT_ID"];
- $arrayData["OAUTH_CLIENT_SECRET"] = $row["OAUTH_CLIENT_SECRET"];
- $arrayData["OAUTH_REFRESH_TOKEN"] = $row["OAUTH_REFRESH_TOKEN"];
+ $arrayData["OAUTH_CLIENT_ID"] = !empty($row["OAUTH_CLIENT_ID"]) ?
+ Crypt::decryptString($row["OAUTH_CLIENT_ID"]) : '';
+ $arrayData["OAUTH_CLIENT_SECRET"] = !empty($row["OAUTH_CLIENT_SECRET"]) ?
+ Crypt::decryptString($row["OAUTH_CLIENT_SECRET"]) : '';
+ $arrayData["OAUTH_REFRESH_TOKEN"] = !empty($row["OAUTH_REFRESH_TOKEN"]) ?
+ Crypt::decryptString($row["OAUTH_REFRESH_TOKEN"]) : '';
}
//Return
@@ -1296,6 +1314,9 @@ class EmailServer
while ($rsCriteria->next()) {
$row = $rsCriteria->getRow();
+ $row['OAUTH_CLIENT_ID'] = !empty($row['OAUTH_CLIENT_ID']) ? Crypt::decryptString($row['OAUTH_CLIENT_ID']) : '';
+ $row['OAUTH_CLIENT_SECRET'] = !empty($row['OAUTH_CLIENT_SECRET']) ? Crypt::decryptString($row['OAUTH_CLIENT_SECRET']) : '';
+ $row['OAUTH_REFRESH_TOKEN'] = !empty($row['OAUTH_REFRESH_TOKEN']) ? Crypt::decryptString($row['OAUTH_REFRESH_TOKEN']) : '';
$arrayEmailServer[] = $this->getEmailServerDataFromRecord($row);
}
@@ -1349,6 +1370,9 @@ class EmailServer
$row["MESS_PASSWORD_HIDDEN"] = '';
$row["MESS_EXECUTE_EVERY"] = '';
$row["MESS_SEND_MAX"] = '';
+ $row["OAUTH_CLIENT_ID"] = !empty($row["OAUTH_CLIENT_ID"]) ? Crypt::decryptString($row["OAUTH_CLIENT_ID"]) : '';
+ $row["OAUTH_CLIENT_SECRET"] = !empty($row["OAUTH_CLIENT_SECRET"]) ? Crypt::decryptString($row["OAUTH_CLIENT_SECRET"]) : '';
+ $row["OAUTH_REFRESH_TOKEN"] = !empty($row["OAUTH_REFRESH_TOKEN"]) ? Crypt::decryptString($row["OAUTH_REFRESH_TOKEN"]) : '';
//Return
return (!$flagGetRecord)? $this->getEmailServerDataFromRecord($row) : $row;
diff --git a/workflow/engine/src/ProcessMaker/Model/EmailServerModel.php b/workflow/engine/src/ProcessMaker/Model/EmailServerModel.php
index 12faca19e..0322f23ff 100644
--- a/workflow/engine/src/ProcessMaker/Model/EmailServerModel.php
+++ b/workflow/engine/src/ProcessMaker/Model/EmailServerModel.php
@@ -3,6 +3,7 @@
namespace ProcessMaker\Model;
use Illuminate\Database\Eloquent\Model;
+use Illuminate\Support\Facades\Crypt;
class EmailServerModel extends Model
{
@@ -41,6 +42,15 @@ class EmailServerModel extends Model
$res = $query->get()->values()->toArray();
$firstElement = head($res);
+ if (!empty($firstElement)) {
+ $firstElement['OAUTH_CLIENT_ID'] = !empty($firstElement['OAUTH_CLIENT_ID']) ?
+ Crypt::decryptString($firstElement['OAUTH_CLIENT_ID']) : '';
+ $firstElement['OAUTH_CLIENT_SECRET'] = !empty($firstElement['OAUTH_CLIENT_SECRET']) ?
+ Crypt::decryptString($firstElement['OAUTH_CLIENT_SECRET']) : '';
+ $firstElement['OAUTH_REFRESH_TOKEN'] = !empty($firstElement['OAUTH_REFRESH_TOKEN']) ?
+ Crypt::decryptString($firstElement['OAUTH_REFRESH_TOKEN']) : '';
+ }
+
return $firstElement;
}
@@ -83,6 +93,12 @@ class EmailServerModel extends Model
$firstElement['MESS_PASSWORD_HIDDEN'] = '';
$firstElement['MESS_EXECUTE_EVERY'] = '';
$firstElement['MESS_SEND_MAX'] = '';
+ $firstElement['OAUTH_CLIENT_ID'] = !empty($firstElement['OAUTH_CLIENT_ID']) ?
+ Crypt::decryptString($firstElement['OAUTH_CLIENT_ID']) : '';
+ $firstElement['OAUTH_CLIENT_SECRET'] = !empty($firstElement['OAUTH_CLIENT_SECRET']) ?
+ Crypt::decryptString($firstElement['OAUTH_CLIENT_SECRET']) : '';
+ $firstElement['OAUTH_REFRESH_TOKEN'] = !empty($firstElement['OAUTH_REFRESH_TOKEN']) ?
+ Crypt::decryptString($firstElement['OAUTH_REFRESH_TOKEN']) : '';
}
return $firstElement;