Example #1
0
 /// <summary>
 /// Ctor
 /// </summary>
 public SPOptions()
 {
     systemIdentityModelIdentityConfiguration = new IdentityConfiguration(false);
     MetadataCacheDuration       = new TimeSpan(1, 0, 0);
     Compatibility               = new Compatibility();
     OutboundSigningAlgorithm    = XmlHelpers.GetDefaultSigningAlgorithmName();
     MinIncomingSigningAlgorithm = XmlHelpers.GetDefaultSigningAlgorithmName();
 }
Example #2
0
        /// <summary>
        /// Construct the options from the given configuration section
        /// </summary>
        /// <param name="configSection"></param>
        public SPOptions(SustainsysSaml2Section 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;
            OutboundSigningAlgorithm           = XmlHelpers.GetFullSigningAlgorithmName(configSection.OutboundSigningAlgorithm);
            MinIncomingSigningAlgorithm        = XmlHelpers.GetFullSigningAlgorithmName(configSection.MinIncomingSigningAlgorithm);
            AuthenticateRequestSigningBehavior = configSection.AuthenticateRequestSigningBehavior;
            NameIdPolicy                       = new Saml2NameIdPolicy(
                configSection.NameIdPolicyElement.AllowCreate, configSection.NameIdPolicyElement.Format);
            RequestedAuthnContext = new Saml2RequestedAuthnContext(configSection.RequestedAuthnContext);
            Compatibility         = new Compatibility(configSection.Compatibility);

            configSection.ServiceCertificates.RegisterServiceCertificates(this);

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

            foreach (var contact in configSection.Contacts)
            {
                Contacts.Add(contact);
            }
        }