/
Bi-directional synchronization issue: Authorization header

Bi-directional synchronization issue: Authorization header

Problem

After installation, you cannot get Salesforce to update any data in Salesforce for any objects or if you are seeing the following issue:

Failed getting a request token. HTTP Code = 400. Message: Bad Request. Response Body: oauth_problem=parameter_absent&oauth_parameters_absent=oauth_consumer_key

Pre-Condition

You've confirmed the following

  • When updating a record in Salesforce, it is successfully added to the Magento Queue
  • Magento Queue is automatically being processed and you can see status of records being changed
  • All records have "Success" message before they are removed from the Queue
  • You see the following error in salesforce logs sf-trace-0.0.log file
2015-10-22T19:18:08+00:00 DEBUG (7): ========== Sync from Salesforce Start ==========
2015-10-22T19:18:08+00:00 DEBUG (7): ERROR: Authentication failed!
2015-10-22T19:18:08+00:00 DEBUG (7): ERROR: Authorization invalid, possible attack!

Solution

You server might be stripping out "Authorization" header from the request. You need to make sure Authorization header is not stripped out from the HTTPS request

Apache Configuration File (Example)

....

# For ELB SSL offloading

SetEnvIf X-Forwarded-Proto https HTTPS=on

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

ProxyPassMatch ....

Make sure the "Authorization" line is above the ProxyPassMatch for fcgi

Related content

Introduction
Read with this
SF -> M synchronization issues
SF -> M synchronization issues
More like this
Installing & Upgrading Salesforce Managed Packages
Installing & Upgrading Salesforce Managed Packages
Read with this
ERROR: insufficient access rights on cross-reference id
ERROR: insufficient access rights on cross-reference id
More like this
Salesforce to Magento 2 sync setup
Salesforce to Magento 2 sync setup
More like this
Configuring the Magento 2 extension
Configuring the Magento 2 extension
More like this