We have a claims based web application to use forms based authentication. I know InfoPath Forms Service has limitations with claims based authentication, but is there any work around to pass the current user's identity to a WCF service from InfoPath?




You can recreate the current user's identity based on the InfoPath username() function and pass the identity from there after a little string manipulation.

Even with claims based authentication this function will return you the current user's identity.

There is a nice blog post about passing a claims authenticated user's identity to the User Profile Service to retrieve profile information at InfoPath 2010 - Using the User Profile Service with Claims Based Authentication. You can follow the same steps to pass the identity to your WCF service. The author uses rules to achieve this, but you can also custom code this if rules don't do the job for you.

Also, see this SP-SE post: Why is GetUserProfileByName from InfoPath Forms Services with claims authentication failing?

Here the suggestion is made to use a udcx:Authentication tag as a workaround.

Unfortunately though, I'd like to tell you Microsoft does not support InfoPath Forms Service with FBA. They state that fairly clearly on Plan for claims-based authentication or classic-mode authentication (SharePoint Server 2010):

Features that do not work with forms-based authentication or SAML security tokens


Search Alerts

SharePoint Server 2010 Explorer View

Claims to Windows Token Service (C2WTS)

InfoPath Forms Services

Search crawling

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.