Почему мой клиент STS получает эту ошибку? "Не удалось проанализировать значение свойства 'type'.Убедитесь, что атрибут type ' issuerNameRegistry…"

Я часто сталкиваюсь с этой ошибки и мои усилия не имели никакого результата. Ошибка:

ID8030: не удалось проанализировать значение свойства "type".Убедитесь, что атрибут type ' issuerNameRegistry type= " Webapp1.TrustedIssuerNameRegistry, webapp1 " элемент является правильным.

Это мой класс TrustedIssuerNameRegistry:

    namespace Webapp1
{
    public class TrustedIssuerNameRegistery : IssuerNameRegistry
    {
        private string issuerName = string.Empty;

        public override string GetIssuerName(SecurityToken securityToken)
        {
            if (securityToken != null)
            {
                X509SecurityToken x509Cert = securityToken as X509SecurityToken;
                if (x509Cert != null && x509Cert.Certificate.SubjectName.Name == "CN=busta-ip1sts.com")
                {
                    issuerName = x509Cert.Certificate.SubjectName.Name;
                }
            }
            if (string.IsNullOrEmpty(issuerName))
            {
                throw new SecurityTokenException("Untrusted issuer.");
            }

            return issuerName;
        }

        public override string GetIssuerName(System.IdentityModel.Tokens.SecurityToken securityToken,
                                             string requestedIssuerName)
        {
            return base.GetIssuerName(securityToken, requestedIssuerName);
        }
    }
}

и это моя паутина.конфигурация конфигурации:

  <system.identityModel>
<identityConfiguration>
  <certificateValidation certificateValidationMode="PeerTrust" trustedStoreLocation="LocalMachine" revocationMode="Online"/>
  <audienceUris>
    <add value="http://localhost:7382/"/>
    <add value="http://localhost:50466/"/>
  </audienceUris>
  <issuerNameRegistry type="Webapp1.WsFederationRequestValidator"></issuerNameRegistry>
   </identityConfiguration>

1 ответов


попробуйте изменить свой веб.настройте identityConfiguration на это:

<issuerNameRegistry type="Webapp1.WsFederationRequestValidator, Webapp1" />

и посмотрим, поможет ли это. Кроме того, убедитесь, что ваша ссылка на System.IdentityModel.Tokens.ValidatingIsserNameRegistry настроено правильно.

возможно, Вам придется тянуть последний Microsoft Token Validation Extension for Microsoft .Net Framework 4.5 из NuGet.