Example #1
0
        public void Saml2AuthenticationRequest_ToXElement_AddsScoping()
        {
            var requesterId = "urn://requesterid/";
            var location    = "http://location";
            var name        = "name";
            var providerId  = "urn:providerId";

            var subject = new Saml2AuthenticationRequest()
            {
                AssertionConsumerServiceUrl = new Uri("http://destination.example.com"),
                Scoping = new Saml2Scoping()
                {
                    ProxyCount = 5
                }
                .With(new Saml2IdpEntry(new EntityId(providerId))
                {
                    Name     = name,
                    Location = new Uri(location)
                })
                .WithRequesterId(new EntityId(requesterId))
            };

            var actual = subject.ToXElement().Element(Saml2Namespaces.Saml2P + "Scoping");

            var expected = new XElement(Saml2Namespaces.Saml2P + "Scoping",
                                        new XAttribute("ProxyCount", "5"),
                                        new XElement(Saml2Namespaces.Saml2P + "IDPList",
                                                     new XElement(Saml2Namespaces.Saml2P + "IDPEntry",
                                                                  new XAttribute("ProviderID", providerId),
                                                                  new XAttribute("Name", name),
                                                                  new XAttribute("Loc", location))),
                                        new XElement(Saml2Namespaces.Saml2P + "RequesterID", requesterId.ToString()));

            actual.Should().BeEquivalentTo(expected);
        }
        public void Saml2AuthenticationRequest_Extensions()
        {
            var request = new Saml2AuthenticationRequest();

            request.ExtensionContents.Add(new XElement(XNamespace.Get("test") + "aditional"));
            var subject = request.ToXElement();

            subject.Should().NotBeNull().And.Subject
            .Element(Saml2Namespaces.Saml2P + "Extensions").Should().NotBeNull().And.Subject
            .Elements().Should().HaveCount(1).And.Subject
            .First().Name.LocalName.Should().Be("aditional");
        }
Example #3
0
        public void Saml2AuthenticationRequest_ToXElement_Scoping_ZeroProxyCount_AttributeAdded()
        {
            var subject = new Saml2AuthenticationRequest()
            {
                AssertionConsumerServiceUrl = new Uri("http://destination.example.com"),
                Scoping = new Saml2Scoping()
                {
                    ProxyCount = 0
                }
            };

            var actual = subject.ToXElement().Element(Saml2Namespaces.Saml2P + "Scoping");

            var expected = new XElement(Saml2Namespaces.Saml2P + "root",
                                        new XAttribute(XNamespace.Xmlns + "saml2p", Saml2Namespaces.Saml2P),
                                        new XElement(Saml2Namespaces.Saml2P + "Scoping",
                                                     new XAttribute("ProxyCount", "0")))
                           .Elements().Single();

            actual.Should().BeEquivalentTo(expected);
        }