public void ReapplyProtocolDefaults()

in wwauth/Google.Solutions.WWAuth/View/AdfsConfigurationViewModel.cs [242:313]


        public void ReapplyProtocolDefaults()
        {
            //
            // N.B. Because some defaults depend on settings controlled by
            // other property sheet pages, we need to reapply the default
            // when switching to this sheet and before saving.
            //

            switch (this.commandLineOptions.Protocol)
            {
                case UnattendedCommandLineOptions.AuthenticationProtocol.AdfsOidc:
                    this.IsRelyingPartyIdTextBoxReadonly = false;
                    if (string.IsNullOrEmpty(this.RelyingPartyId) &&
                        this.File.Configuration.PoolConfiguration.IsValid)
                    {
                        this.RelyingPartyId = $"https:{this.File.Configuration.PoolConfiguration.Audience}";
                    }

                    this.IsClientIdTextBoxVisible = true;

                    this.IsAcsUrlTextBoxVisible = false;
                    if (!string.IsNullOrEmpty(this.AcsUrl))
                    {
                        this.AcsUrl = string.Empty;
                    }

                    this.IsSignRequestControlVisible = false;

                    break;

                case UnattendedCommandLineOptions.AuthenticationProtocol.AdfsWsTrust:
                    this.IsRelyingPartyIdTextBoxReadonly = true;
                    this.RelyingPartyId = this.DefaultRelyingPartyId;

                    this.IsClientIdTextBoxVisible = false;
                    if (!string.IsNullOrEmpty(this.ClientId))
                    {
                        this.ClientId = string.Empty;
                    }

                    this.IsAcsUrlTextBoxVisible = false;
                    if (!string.IsNullOrEmpty(this.AcsUrl))
                    {
                        this.AcsUrl = string.Empty;
                    }

                    this.IsSignRequestControlVisible = false;

                    break;

                case UnattendedCommandLineOptions.AuthenticationProtocol.AdfsSamlPost:
                    this.IsRelyingPartyIdTextBoxReadonly = true;
                    this.RelyingPartyId = this.DefaultRelyingPartyId;

                    this.IsClientIdTextBoxVisible = false;
                    if (!string.IsNullOrEmpty(this.ClientId))
                    {
                        this.ClientId = string.Empty;
                    }

                    this.IsAcsUrlTextBoxVisible = true;
                    if (string.IsNullOrEmpty(this.AcsUrl))
                    {
                        this.AcsUrl = StsAdapter.DefaultTokenUrl;
                    }

                    this.IsSignRequestControlVisible = true;
                    this.IsSignRequestControlEnabled = this.RequestSigningCertificate != null;

                    break;
            }
        }