We have CRM 2016 ( on premise IFD enabled. We have a Custom Action which is getting triggered on a Button click and there in JavaScript we are impersonating the call to Action with Admin user id using the following piece of code -

action.setRequestHeader("MSCRMCallerID", <Guid of Admin>);

We are facing issue when user accesses the application with internal url, the instance of an action is invoked with normal user (logged in) and not the admin user which is being passed through Javascript. The code runs perfectly fine when CRM is accessed via external url.

By enabling the trace logs we found the following -
>FileExists ~/api/data returning False.

>DirectoryExists ~/api/data returning False