Skip to content

Assertion node label difference #13

@webmonkiee

Description

@webmonkiee

Hello. This may not be the place to ask, but I am really stuck.

One thing I noticed is that the assertion in my response has a different node label than the examples I've been given and the examples in the LightSAML cookbook.

Mine... "<Assertion..."
All others... "<saml:Assertion..."

I am including the code I am using to generate the response in case there is something wrong there. Thanks for any and all help!

`$certificate = \LightSaml\Credential\X509Certificate::fromFile( path to file );
$privateKey = \LightSaml\Credential\KeyHelper::createPrivateKey( path to file, '', true );

				$response_id = \LightSaml\Helper::generateID();
				
				$response = new \LightSaml\Model\Protocol\Response();
				$response
				    ->addAssertion( $assertion = new \LightSaml\Model\Assertion\Assertion() )
				    ->setStatus( new \LightSaml\Model\Protocol\Status(
				        new \LightSaml\Model\Protocol\StatusCode(
				            \LightSaml\SamlConstants::STATUS_SUCCESS )
				        )
				    )
				    ->setID( $response_id )
				    ->setIssueInstant( new \DateTime() )
				    ->setDestination( $destination )
				    ->setIssuer( new \LightSaml\Model\Assertion\Issuer( $carrier_id ) )
				    ->setSignature(new \LightSaml\Model\XmlDSig\SignatureWriter( $certificate, $privateKey ));
					
				$assertion_id = \LightSaml\Helper::generateID();
				
				$assertion
				    ->setId( $assertion_id )
				    ->setIssueInstant(new \DateTime())
				    ->setIssuer(new \LightSaml\Model\Assertion\Issuer( $carrier_id ))
				    ->setSubject(
				        (new \LightSaml\Model\Assertion\Subject())
				            ->setNameID(new \LightSaml\Model\Assertion\NameID(
				                $user->email,
				                \LightSaml\SamlConstants::NAME_ID_FORMAT_UNSPECIFIED
				            ))
				            ->addSubjectConfirmation(
				                (new \LightSaml\Model\Assertion\SubjectConfirmation())
				                    ->setMethod(\LightSaml\SamlConstants::CONFIRMATION_METHOD_BEARER)
				                    ->setSubjectConfirmationData(
				                        (new \LightSaml\Model\Assertion\SubjectConfirmationData())
				                            ->setNotOnOrAfter(new \DateTime('+1 MINUTE'))
				                            ->setRecipient( $destination )
				                    )
				            )
				    )
				    ->setConditions(
				        (new \LightSaml\Model\Assertion\Conditions())
				            ->setNotBefore(new \DateTime())
				            ->setNotOnOrAfter(new \DateTime('+1 MINUTE'))
				            ->addItem(
				                new \LightSaml\Model\Assertion\AudienceRestriction( [$audience] )
				            )
				    )
				    ->addItem(
				        (new \LightSaml\Model\Assertion\AttributeStatement())
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'Groups',
				                '01945-UsersGroup'
				            ))
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'Action',
				                'CREATE'
				            ))
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'AppliationData'
				            ))
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'ChannelName',
				                'WIA'
				            ))
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'CompanyIdentifier',
				                '1945'
				            ))
				            ->addAttribute(new \LightSaml\Model\Assertion\Attribute(
				                'TimeoutURL'
				            ))
				    )
				    ->addItem(
				        ( new \LightSaml\Model\Assertion\AuthnStatement())
				            ->setAuthnInstant(new \DateTime('-10 MINUTE'))
				            ->setSessionIndex( $assertion_id )
				            ->setAuthnContext(
				                (new \LightSaml\Model\Assertion\AuthnContext())
				                    ->setAuthnContextClassRef(\LightSaml\SamlConstants::AUTHN_CONTEXT_UNSPECIFIED)
				            )
				    );
				$bindingFactory	= new \LightSaml\Binding\BindingFactory();
				$postBinding	= $bindingFactory->create(\LightSaml\SamlConstants::BINDING_SAML2_HTTP_POST);
				
				$messageContext	= new \LightSaml\Context\Profile\MessageContext();
				$messageContext->setMessage( $response )->asResponse();
				
				
				$httpResponse = $postBinding->send( $messageContext );
				print $httpResponse->getContent();

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions