/** * Build the policy request object. * * @param string $subjectId * @param string $idp * @param string $sp * @param array $responseAttributes * @return Pdp_PolicyRequest */ private function buildPolicyRequest($subjectId, $idp, $sp, array $responseAttributes) { $policy_request = new Pdp_PolicyRequest(); $policy_request->addResourceAttribute('SPentityID', $sp); $policy_request->addResourceAttribute('IDPentityID', $idp); $policy_request->addAccessSubject('urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified', $subjectId); foreach ($responseAttributes as $id => $values) { foreach ($values as $value) { $policy_request->addAccessSubject($id, $value); } } return $policy_request; }