I've already got a support ticket open for this, but figured I'd get the ball rolling on documenting the results so that others hopefully won't have to go through this.
Essentially, it doesn't look like the documentation is correct regarding how to pass a password via APClient.bin if you have password authentication enabled in IAConfig.xml. Has anyone enabled password protected IA and successfully injected events via APClient.bin that have the password mapped as a token? I so, what is the name of the token you passed?
To replicate:
Find the password authentication parameter in IAConfig.xml and set it to true.
Generate a password file and put it in the proper location.
Modify the mapped-input section of you your integrations .xml file to include an additional parameter. The docs reference apia_password as the token name, support suggested just password - and neither of those work for me.
Then, send your map data request via apclient.bin
APClient.bin --map-data yourintegration somedata yourpassword (make sure the order matches your mapped-input parameter order)
IA will reject the request because it did not include a password.
Relevant code sections:
==== IAConfig.xml ====
<password-authentication enable="true">
<password>
<file>.passwd</file>
<!-- the password file was created/encrypted and dropped in the proper location +-->
</password>
</password-authentication>
<service-configs dir="../integrationservices">
<path>remedyforce/remedyforce.xml</path>
</service-configs>
==== remedyforce.xml ====
<mapped-input method="add" subclass="action">
<parameter>remedyID</parameter>
<parameter>password</parameter>
</mapped-input>
==== apclient.bin call ====
this will eventually be an http post to the integration agent from the interwebs, which is why I'm so set on getting the password token to work properly.
APClient.bin --map-data remedyforce ApC92350000000abcei1 testpass