//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId.Behaviors { using System; using System.Diagnostics.CodeAnalysis; using System.Linq; using DotNetOpenAuth.Configuration; using DotNetOpenAuth.Logging; using DotNetOpenAuth.Messaging; using DotNetOpenAuth.OpenId.Extensions.AttributeExchange; using DotNetOpenAuth.OpenId.Extensions.ProviderAuthenticationPolicy; using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration; /// /// Implements the Identity, Credential, & Access Management (ICAM) OpenID 2.0 Profile /// for the General Services Administration (GSA). /// /// /// Relying parties that include this profile are always held to the terms required by the profile, /// but Providers are only affected by the special behaviors of the profile when the RP specifically /// indicates that they want to use this profile. /// [Serializable] [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Icam", Justification = "Acronym")] public abstract class GsaIcamProfileBase { /// /// Backing field for the static property. /// private static bool disableSslRequirement = DotNetOpenAuthSection.Messaging.RelaxSslRequirements; /// /// Initializes a new instance of the class. /// public GsaIcamProfileBase() { if (DisableSslRequirement) { Logger.OpenId.Warn("GSA level 1 behavior has its RequireSsl requirement disabled."); } } /// /// Gets or sets a value indicating whether PII is allowed to be requested or received via OpenID. /// /// The default value is false. public static bool AllowPersonallyIdentifiableInformation { get; set; } /// /// Gets or sets a value indicating whether to ignore the SSL requirement (for testing purposes only). /// public static bool DisableSslRequirement { // not an auto-property because it has a default value, and FxCop doesn't want us using static constructors. get { return disableSslRequirement; } set { disableSslRequirement = value; } } } }