Exemplo n.º 1
0
        public void Saml2RequestedAuthnContext_Ctor_HandlesEmpty()
        {
            var config = new RequestedAuthnContextElement();

            var subject = new Saml2RequestedAuthnContext(config);

            subject.ClassRef.Should().BeNull();
        }
Exemplo n.º 2
0
        public void Saml2RequestedAuthnContext_Ctor_HandlesFullUri()
        {
            var config = new RequestedAuthnContextElement();

            config.AllowChange = true;
            var classRef = "http://id.sambi.se/loa2";

            config.AuthnContextClassRef = classRef;

            var subject = new Saml2RequestedAuthnContext(config);

            subject.ClassRef.Should().Be(classRef);
        }
        /// <summary>
        /// Ctor
        /// </summary>
        /// <param name="requestedAuthnContextElement">Config element to load.</param>
        public Saml2RequestedAuthnContext(RequestedAuthnContextElement requestedAuthnContextElement)
        {
            if (requestedAuthnContextElement == null)
            {
                throw new ArgumentNullException(nameof(requestedAuthnContextElement));
            }

            if (!string.IsNullOrEmpty(requestedAuthnContextElement.AuthnContextClassRef))
            {
                ClassRef = new Uri(
                    !requestedAuthnContextElement.AuthnContextClassRef.Contains(":")
                    ? "urn:oasis:names:tc:SAML:2.0:ac:classes:" + requestedAuthnContextElement.AuthnContextClassRef
                    : requestedAuthnContextElement.AuthnContextClassRef);
            }

            Comparison = requestedAuthnContextElement.Comparison;
        }