Я думаю, что вам лучше всего настроить прокси-веб-сервис на клиентских сайтах. Скорее всего, вам это понадобится в любом случае, так как в противном случае пользователи этих сайтов будут сталкиваться с междоменными ограничениями доступа (запросы ajax, как правило, разрешаются только обратно в домен первоначально запрашиваемой страницы).
Так, например, у вас есть веб-сервис здесь: https://www.mywebsite.com/myService.cfc?wsdl
На каждом из клиентских сайтов будет свой веб-сервис, примерно такой:
http://www.yoursite1.com/myServiceProxy.cfc?wsdl
myServiceProxy.cfc будет выглядеть примерно так:
<cfcomponent>
<cffunction name="getData" access="remote" returnType="struct">
<cfargument name="myArg1"><!--- whatever is needed for your service --->
<cfset var ret = {}>
<cfset var secretKey = "MySuperSecretSharedKey">
<cfif IsDefined("session.validUser")><!--- whatever is needed to validate remote user --->
<cfinvoke
webservice="https://www.mywebsite.com/myService.cfc?wsdl"
method="getData"
returnVariable="ret">
<cfinvokeargument name="secretKey" value="#secretKey#">
<cfinvokeargument name="myArg1" value="#arguments.myArg1#"><!--- etc.... --->
</cfinvoke>
</cfif>
<cfreturn ret>
</cffunction>
</cfcomponent>
Как видно из этого примера, прокси-код сможет проверить, является ли пользователь действительным, на основе сеанса или того, что еще необходимо. Затем, поскольку этот прокси-код был настроен с секретным ключом, его можно передать обратно в реальную службу. Используя этот секретный ключ, вы можете проверить, что вызывающий абонент вашей службы действителен (также запишите HTTPS - здесь определенно хорошая идея). Это должно быть!