Not able to get FORM Post Variable data

Document ID : KB000007946
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

Unable to customize website pages based on post variable provided by the client prior to authentication

Expected results: Expecting the Header variable will be populated and be able to be retrieved by application

Actual results: Header request variable blank

Setup form post variable in the fcc form field called "testformfield". 

But when the response gets set, it gets set to 

<Var name=\"TEST_FORMPOST_VARIABLE\" vtype=\"Post\" rtype=\"3\"><![CDATA[testformfield]]></Var>

 Setup form post variable in the fcc form field called "testformfield", configure AdminUI with varaible MyCustomerVar

 

 

Results:

header1.png

Agent trace:

[06/09/2017][08:19:53.184][9622][2998901616][CSmHttpPlugin.cpp:3437][CSmHttpPlugin::ProcessResponses][Rm+e2WiP7Pq+RnLqjug3uGETjcg=][000000000000000000000000519e820a-2596-593a9269-b2bf9b70-439f1734e4d7][A66][CA_lodbl509vm025-026_realm-headers][apache-agent][*138.42.187.60][cn=AUser66,ou=APSUsers,dc=ca,dc=com][/headers/info.jsp][GET][Setting custom HTTP header variable: 'HTTP_MyCustomerVar=<Var name="MyPostVar" vtype="Post" rtype="3"><![CDATA[testformfield]]></Var>'][10.130.158.81]

[06/09/2017][08:19:53.184][9622][2998901616][CSmHttpPlugin.cpp:3437][CSmHttpPlugin::ProcessResponses][Rm+e2WiP7Pq+RnLqjug3uGETjcg=][000000000000000000000000519e820a-2596-593a9269-b2bf9b70-439f1734e4d7][A66][CA_lodbl509vm025-026_realm-headers][apache-agent][*138.42.187.60][cn=AUser66,ou=APSUsers,dc=ca,dc=com][/headers/info.jsp][GET][Setting custom HTTP header variable: 'HTTP_MyUID=A66'][10.130.158.81]

Policy server  trace:

[06/09/2017][08:26:47.024][08:26:47][4920][140598969337600][Sm_Az_Message.cpp:828][CSm_Az_Message::FormatAttribute][s15/r5][MyCustomerVar=<Var name="MyPostVar" vtype="Post" rtype="3"><![CDATA[testformfield]]></Var>][AuthorizeEx][A66][CA_lodbl509vm025-26][CA_lodbl509vm025-026_realm-headers][apache-agent][Send response attribute 224, data size is 90][cn=AUser66,ou=APSUsers,dc=ca,dc=com]

 

[06/09/2017][08:26:47.024][08:26:47][4920][140598969337600][Sm_Az_Message.cpp:828][CSm_Az_Message::FormatAttribute][s15/r5][MyUID=A66][AuthorizeEx][A66][CA_lodbl509vm025-26][CA_lodbl509vm025-026_realm-headers][apache-agent][Send response attribute 224, data size is 9][cn=AUser66,ou=APSUsers,dc=ca,dc=com]

 

[06/09/2017][08:26:47.043][08:26:47][4920][140599021786880][Sm_Az_Message.cpp:828][CSm_Az_Message::FormatAttribute][s15/r9][<UVARS><Var name="MyPostVar" vtype="Post" rtype="3"><![CDATA[testformfield]]></Var></UVARS>][AuthorizeEx][A66][CA_lodbl509vm025-26][CA_lodbl509vm025-026_realm-headers][apache-agent][Send response attribute 146, data size is 91] [cn=AUser66,ou=APSUsers,dc=ca,dc=com]

 

 

 

Environment:
R126 Policy server R12..6 Linux Webagent - Version 12.52 QMR01, Update HF-06, Label 2209
Cause:

Bug in the product including clarification of implementing POST Variables using the OptionPack with eTelligent Rules 

 

Resolution:

Provided dev fix based on R12.6 in defect DE280382

Steps we did to verify functionality (NOTE the variable should not be on the form it should be included in unprotected form prior to authentication)

 

Provide dev fix from DEFECT DE280382 SmActiveExpr.jar, this file needs to replace the existing file located in siteminder/bin/jar folder

 

After replacing the JAR and stop/start policy server process – execute the following procedure to get POST VARIABLES TO WORK:

The FORM POST Variables are not taken from POST VARIABLES included into FCC form:

Form Post Variables are taken from Forms posted to a Protected Page (postpreservation).  While displaying the protected Page, the variables are used

Form Post variables can be used as Variables used in responses or in expressions

Need to install Web Agent Option Pack of same version on the WebAgent machine for the Form Post Variables to function (refer: eTelligent Rules documentation)

After optionpack install did you do this step - it is part or eTelligent Rules documentation 

<wa_home>/bin/non_stub/libsmvariable.so

to

             <wa_home>/bin

Steps followed to make use of form post variables:

  1. Protected a page called main.asp which accepts posted data.
  2. Page with basic auth scheme can be forms.
  3. Create domain, realm ( any auth scheme)  and Policy with rule as usual, Save all
  4. Create a Form Variable from policies/Domain/Variables select domain as above domain field 'Variable Type' = "form post"

(note: field 'Form field name' should match the variable posted to the main.asp)

 

Edit Domain policy to Create a response of Name = TEST_FORMFIELD_HEADER

  • Attribute Type = WebAgent-HTTP-HEADER-VARIABLE
  • Attribute Kind as "Variable Definition" andAttribute fields = Form Variable created above.
  1. Add the above response to the policy
  2. Accessed unprotected page called test.html which posts variables to main.asp
  3. Filled the variable values and submitted
  4. Post preservation kicks in and challenge occurs.
  5. Got the response as well as TEST_FORMFIELD_HEADER is filled with value posted in the form