Overview
What is its Purpose?
- Centralizes identity federation by verifying SAML assertions passing through API Proxy (API Proxy Server) flows.
- Increases access security by ensuring only trusted signers are accepted in user or system SSO requests.
- Enables centralized control of certificate rotations through JKS-based key store management.
- Prevents verified SAML blocks from leaking to downstream services and protects data privacy with XPath-based clearing.
Working Principle
- Request Arrival: For each HTTP/HTTPS request arriving at the API Gateway, the source IP address of the request is identified.
- Policy Check: If the SAML Verification policy is active, the system checks in the following order:
- Is a Condition defined? If so, is the condition met?
- Is the policy active (active=true)?
- Is a Variable used or is Apinizer default?
- SAML Verification Check: The SAML assertion in the request body is verified for signature with certificates in the selected key store; if necessary, the relevant XML node is cleared with XPath expression.
- Decision Making:
- Match Found: If signature is verified, the request is routed to the next step of the flow with updated payload.
- No Match: If signature verification fails or key store is not found, the request is stopped and a customizable error response is returned.
- Error Handling: Customizable HTTP status code and error message are returned for requests that do not comply with the policy rule.
Features and Capabilities
Basic Features
- Key Store Verification: Performs SAML signature verification with certificates in JKS format key store; registration cannot be completed without selecting a key store.
- Unknown Signer Tolerance: Allows controlled acceptance of certificates not linked to known CA chain with the
allowUnknownSigneroption. - XPath-Based SAML Clearing: Prevents data leakage by clearing SAML blocks in message body after verification with
clearSamlandclearSamlPathfields. - Active/Passive Status Control: Easily change the active or passive status of the policy (active/passive toggle). In passive state, the policy is not applied but its configuration is preserved.
- Condition-Based Application: Determine when the policy will be applied by creating complex conditions with Query Builder (e.g., only for specific endpoints or header values).
Advanced Features
- Dynamic Key Store Management: Instantly adds certificate sets to the project you are working on by calling the new key store creation dialog from the configuration screen.
- XPath Test Automation: Reduces the risk of incorrect clearing by testing the
clearSamlPathexpression on real data samples with the Test Transformation Data component. - Default Signature Node Detection: When
clearSamlPathis enabled, default signature node XPath is automatically assigned and can be customized if needed. - Export/Import Feature: Export policy configuration as a ZIP file. Import to different environments (Development, Test, Production). Version control and backup capability.
- Policy Group and Proxy Group Support: Manage multiple policies within Policy Group. Bulk policy assignment to Proxy Groups. Centralized update and deployment operations.
- Deploy and Versioning: Deploy policy changes to live environment. See which API Proxies use it (Policy Usage). Proxy Group and Policy Group usage reports.
Usage Scenarios
Configuring Policy Parameters
At this step, users can create a new policy or configure existing policy parameters to define access rules. The defined parameters directly affect how the policy works (e.g., which IPs will be allowed, geographical restrictions, conditional activations, etc.). This way, the policy can be customized according to organization-specific requirements and managed centrally.Creating a New SAML Verification Policy

Configuration Steps
For the description of Conditions and Error Message Customization panels, you can review the Conditions and Error Message Customization sections on the What is Policy? page.
For a complete guide on all layers, priority order and scenario examples of the error message configuration system, see the Error Message Configuration Guide page.

