Passing multi-value attributes
The Agent Toolkit for PHP supports passing multi-value attributes to PingFederate that will each appear in its own discrete <AttributeValue>
element in the SAML 2.0 assertion or as a JSON array value in OAuth-based protocols. Multi-value attributes are passed using the MultiStringArray
PHP class distributed with the Agent Toolkit for PHP.
The following code snippet demonstrates how to pass multi-valued attributes using the Agent Toolkit for PHP:
<?php # Use and instantiate an agent use pingidentity\opentoken\agent; use pingidentity\opentoken\helpers\multistringarray; $myagent = new Agent(); # Setup an array of values $myvalues = MultiStringArray() # Single Value Attribute $myvalues->add(TOKEN_SUBJECT, <$userId>); #Multiple Value Attribute $myvalues->add(“MultiValueAttr”, “value1”); $myvalues->add(”MultiValueAttr”, ”value2”); $myvalues->add(“MultiValueAttr”, “value3”); # Generate and write the token to a cookie (assuming that's # our configuration) $myagent->writeTokenToHTTPResponse($myvalues); ?>