示例#1
0
        /// <summary>
        /// Construct the options from the given configuration section
        /// </summary>
        /// <param name="configSection"></param>
        public SPOptions(KentorAuthServicesSection configSection)
        {
            if (configSection == null)
            {
                throw new ArgumentNullException(nameof(configSection));
            }
            systemIdentityModelIdentityConfiguration = new IdentityConfiguration(true);

            ReturnUrl = configSection.ReturnUrl;
            MetadataCacheDuration = configSection.Metadata.CacheDuration;
            MetadataValidDuration = configSection.Metadata.ValidUntil;
            WantAssertionsSigned = configSection.Metadata.WantAssertionsSigned;
            ValidateCertificates = configSection.ValidateCertificates;
            DiscoveryServiceUrl = configSection.DiscoveryServiceUrl;
            EntityId = configSection.EntityId;
            ModulePath = configSection.ModulePath;
            PublicOrigin = configSection.PublicOrigin;
            Organization = configSection.Organization;
            AuthenticateRequestSigningBehavior = configSection.AuthenticateRequestSigningBehavior;
            NameIdPolicy = new Saml2NameIdPolicy(
                configSection.NameIdPolicyElement.AllowCreate, configSection.NameIdPolicyElement.Format);
            RequestedAuthnContext = new Saml2RequestedAuthnContext(configSection.RequestedAuthnContext);

            configSection.ServiceCertificates.RegisterServiceCertificates(this);

            foreach (var acs in configSection.AttributeConsumingServices)
            {
                AttributeConsumingServices.Add(acs);
            }

            foreach (var contact in configSection.Contacts)
            {
                Contacts.Add(contact);
            }
        }
        public void Saml2RequestedAuthnContext_Ctor_HandlesEmpty()
        {
            var config = new RequestedAuthnContextElement();

            var subject = new Saml2RequestedAuthnContext(config);

            subject.ClassRef.Should().BeNull();
        }
        public void Saml2ReqestedAuthnContext_Ctor()
        {
            var classRef = "http://id.sambi.se/loa2";
            var subject = new Saml2RequestedAuthnContext(new Uri(classRef), AuthnContextComparisonType.Maximum);

            subject.ClassRef.OriginalString.Should().Be(classRef);
            subject.Comparison.Should().Be(AuthnContextComparisonType.Maximum);
        }
        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);
        }