public static function processAuthenticationCode($code, $options = []) { $repository = new TokenRepository(); $base_uri = 'https://' . SalesforceConfig::get('salesforce.api.domain') . SalesforceConfig::get('salesforce.api.base_uri'); $oauth2Client = new Oauth2Client(array_replace(['base_uri' => $base_uri], $options)); $authorization_config = ['code' => $code, 'client_id' => SalesforceConfig::get('salesforce.oauth.consumer_token'), 'client_secret' => SalesforceConfig::get('salesforce.oauth.consumer_secret'), 'redirect_uri' => SalesforceConfig::get('salesforce.oauth.callback_url'), 'token_url' => 'https://' . SalesforceConfig::get('salesforce.oauth.domain') . SalesforceConfig::get('salesforce.oauth.token_uri'), 'auth_location' => 'body']; $oauth2Client->setGrantType(new AuthorizationCode($authorization_config)); $refresh_token = ''; if ($refresh_token) { $refresh_config = ['refresh_token' => $refresh_token, 'client_id' => SalesforceConfig::get('salesforce.oauth.consumer_token'), 'client_secret' => SalesforceConfig::get('salesforce.oauth.consumer_secret')]; $oauth2Client->setRefreshTokenGrantType(new RefreshToken($refresh_config)); } $access_token = $oauth2Client->getAccessToken(); $repository->store->setTokenRecord($access_token); return 'Token record set successfully'; }
/** * Bootstrap the application services. * * @return void */ public function boot() { // Publish your migrations $this->publishes([__DIR__ . '/../../migrations/salesforce.php' => base_path('/database/migrations/2015_09_18_141101_create_salesforce_tokens_table.php')], 'migrations'); //publish config $this->publishes([__DIR__ . '/../../config/salesforce.php' => config_path('salesforce.php')], 'config'); //merge default config if values were removed or never published $this->mergeConfigFrom(__DIR__ . '/../../config/salesforce.php', 'salesforce'); //set custom package views folder $this->loadViewsFrom(__DIR__ . '/../../resources/views', 'salesforce'); //set custom routes for admin pages if (SalesforceConfig::get('salesforce.enable_oauth_routes')) { if (!$this->app->routesAreCached()) { require __DIR__ . '/../../http/routes.php'; } } }
public function setTokenRecord(AccessToken $token, $user_id = null) { if (is_null($user_id)) { $user_id = SalesforceConfig::get('salesforce.storage_global_user_id'); if (is_null($user_id)) { if (class_exists('\\Auth') && ($user = \Auth::user())) { $user_id = $user->id; } else { $user_id = 0; } } } $record = SalesforceToken::findByUserId($user_id)->first(); if (!$record) { $record = new SalesforceToken(); $record->user_id = $user_id; } $token_data = $token->getData(); $record->access_token = $token->getToken(); $record->refresh_token = $token->getRefreshToken()->getToken(); $record->instance_base_url = $token_data['instance_url']; $record->save(); return $record; }
protected function updateAccessToken($current_access_token) { if ($current_access_token != SalesforceConfig::get('salesforce.oauth.access_token')) { $this->repository->store->setAccessToken($current_access_token); SalesforceConfig::set('salesforce.oauth.access_token', $current_access_token); } }
/** * @param array $config * * @return TokenRepositoryInterface */ public function setStore($config = []) { $store_name = SalesforceConfig::get('salesforce.storage_type'); return $this->{'create' . ucfirst($store_name) . 'Driver'}($config); }
/** * @param $jobId * @param BinaryBatch $binaryBatch * * @return BulkBatchResponse */ public function addBinaryBatch($jobId, BinaryBatch $binaryBatch, $contentType = 'zip/csv') { if (!$jobId) { //throw exception return new BulkBatchResponse(); } $binaryBatch->prepareBatchFile(); $url = '/services/async/' . SalesforceConfig::get('salesforce.api.version') . '/job/' . $jobId . '/batch'; $body = file_get_contents($binaryBatch->batchZip); $headers = ['Content-type' => $contentType]; $result = $this->call_api('post', $url, ['body' => $body, 'headers' => $headers, 'format' => $this->batchResponseFormatFromContentType($contentType)]); if ($result && is_array($result)) { return new BulkBatchResponse($result); } return new BulkBatchResponse(); }