Context-based Routing + Outbound Authentication - Transport Policy is creating issue if Creds is not required for another routing endpoint

Hi Experts,

We have requirement to route to different endpoints based on the ‘operationName’ in an API. For this to achieve we are using “Context-based Routing” to have rules based on ‘operationName’ to route to different endpoints.

But, as we got 2 routing endpoints, 1st routing endpoint requires a credentials to pass as basic auth for that we have “Outbound Authentication - Transport” policy and which works fine. But for the 2nd routing endpoint which does not require credentials will also get routed with “ Outbound Authentication - Transport” policy’s credentials which is creating an issue.

How to achieve this requirement to have routing specific credentials to pass? Please help to advise

API Gateway Advanced Edition fix level:

Version: 10.5.0.30.1075

APIGW IS fix levels:

IS_10.5_SPM_Fix4
IS_10.5_Core_Fix19

Thanks
Niranth

@Niranth_NS Have you checked the scope option to have different set of the policy based on the operation ?

Hi @DINESH_J Thank you for your response. Thought of same but the scope-level policies are not applicable for ‘Routing’ policy. only applicable for Identify and Access, Request Processing, Traffic Monitoring, Response Processing and Error Handling.

Also, got below information:
“Defining multiple HTTP Authentication methods to be used with different endpoints in context-based routing is currently not possible. and There is already a feature request for the same”

Regards,
Niranth

1 Like

To address routing-specific credentials for different endpoints in API Gateway Advanced Edition, ensure separate policies for each endpoint’s authentication, benefiting moving-services.net . Review configurations and consider adjustments to align credentials with respective routing requirements.

Replace you Outbound Authentication policy with a request transformation policy.
In this policy, place a condition on the operationName and inject authentication information to your backend.