From your background, there are APIs (namespace?) to do some of the setup for you. I believe the Kernel sign-on security routines have been modified by the VA. Are experience was just to set up a Proxy User for the purpose of HL7 interfaces so that the system has a PROXY,LAB user for example in file 200. We have not implemented a full proxy, TCP/IP, RPC like communication. I do know that all security features of the normal sign-on are enforced. So the Proxy user has to have a MENU BROKER OPTION with RPCs. The entire security key structure is also honored so that if something is locked with a security key the proxy user must own that security key. Obviously menu context is verified for that PROXY,USER.
That was KIDS Build that mentioned. You will need a KIDS build for the M server side that exports the components that system needs like menu context (OPTION), RPCs, Security Keys, etc. You cannot export the user profile. But there is an API that will set up the PROXY,USER for you. My memory is fuzzy here. There is an "encrypted" key that is used. The GUI side has to provide that key. When you set up the PROXY user and application using the APIs you will need that encrypted key value. Usually this would be handled as a post-install to the KIDS build. There are about 3,4,5 files that have to be properly setup and properly linked. The APIs should handle that for you.
I did not look at this from the eyes of a GUI application. This same process works for one M VistA system talking to another M VistA system. The client M system open a TCP/IP socket. At this point I am getting out of my element due to lack of experience. I read enough to know what and how this could be used and we had projects that could use it. But we never got those projects off of the ground before I left.
I know this was very basic but I hope it points you in the right direction. At this point I would have get the docs out myself and reread them and try to set it up.