To secure outbound HTTP requests from Salesforce, architects must implement defense-in-depth measures at both the authentication and transport layers.
Named Credentials are the primary architectural recommendation for managing callout endpoints and authentication in a secure, declarative manner. They abstract the endpoint URL and authentication parameters (such as usernames, passwords, or OAuth tokens) away from Apex code. This prevents sensitive credentials from being hardcoded or exposed in metadata, significantly reducing the risk of accidental disclosure. By using Named Credentials, Salesforce handles the heavy lifting of authentication headers automatically, ensuring that the integration is both secure and maintainable.
Two-way SSL (Mutual Authentication) provides an additional layer of security at the transport layer. While standard SSL ensures that Salesforce trusts the external server, Two-way SSL requires the external server to also verify the identity of the Salesforce client. The architect first generates a certificate in Salesforce, which is then presented to the external system during the TLS handshake. This "mutual trust" ensures that the external service only accepts requests from an authorized Salesforce instance, protecting against man-in-the-middle attacks and unauthorized access attempts.
While an Authorization Provider (Option C) is essential for OAuth-based flows, it is typically used within the configuration of a Named Credential rather than as a standalone security method for a generic HTTP request. By combining Named Credentials with Two-way SSL, the architect ensures that the integration is secured at both the session/authentication level and the network/transport level, adhering to enterprise security best practices for cloud-to-on-premise or cloud-to-cloud communication.
Submit