Tengo un servicio wcf que las consultas de ADFS para token SAML. Este es un fragmento de código de la web para la consulta de ADFS y obtener el token SAML.
Sin embargo, siempre termina rompiendo en la línea de canal de retorno.Problema(rst); . El Error es ID3082: El ámbito de petición no es válida o no es compatible.
Al menos en un nivel alto no soy capaz de averiguar si el error es en el servidor de ADFS final o con el modo de servicio WCF está configurado o con código. Por favor, ayudar.

public SecurityToken GetSamlToken()
    {
            using (var factory = new WSTrustChannelFactory(
            new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential),
            new EndpointAddress(new Uri("https://serv/adfs/services/trust/13/usernamemixed"))))
            {
            factory.Credentials.UserName.UserName = "username";
            factory.Credentials.UserName.Password = "password";
            factory.Credentials.ServiceCertificate.Authentication.CertificateValidationMode = X509CertificateValidationMode.None;
            factory.TrustVersion = TrustVersion.WSTrust13;                
            WSTrustChannel channel = null;                
            try
            {
                string KeyType;
                var rst = new RequestSecurityToken
                              {
                                  RequestType = WSTrust13Constants.RequestTypes.Issue,
                                  AppliesTo = new EndpointAddress("net.tcp://localhost:xxxx/Service1/mex"),                         
                                  KeyType = Microsoft.IdentityModel.Protocols.WSTrust.WSTrust13Constants.KeyTypes.Bearer,                                        
                              };

                channel = (WSTrustChannel)factory.CreateChannel();

                return channel.Issue(rst);
            }
            finally
            {
                if (channel != null)
                {
                    channel.Abort();
                }

                factory.Abort();
            }
        }
    }

OriginalEl autor simba | 2013-10-16

2 Comentarios

  1. 4

    El problema fue con la

    AppliesTo = new EndpointAddress("net.tcp://localhost:xxxx/Service1/mex")

    Me reemplazó con una parte superior de uri y me token. El único problema aquí es la confusión de los mensajes de error.

    OriginalEl autor simba

  2. 0

    El error está probablemente relacionado con la configuración de la ADFS extremo. El siguiente artículo parece proporcionar una buena visión general de la web de ADFS servicio de la comunicación, junto con los pasos para resolver algunos problemas:

    http://msinnovations.wordpress.com/2011/03/28/some-tips-on-active-federation-with-adfs-2-0/

    Para obtener más información acerca de dónde (y quizá por eso) se produce el error, puede que quiera/necesite configurar el seguimiento WCF/registro. El siguiente enlace proporciona una visión general:

    http://msdn.microsoft.com/en-us/library/ms733025.aspx

    Saludos,

    El blog se lee «ID3082: El ámbito de petición no es válida o no es compatible. Una de las razones por las que esto puede ocurrir es que si usted no tiene la configuración de un usuario de confianza en ADFS para su aplicación.» Así que, ¿significa esto que mi servicio wcf tiene que ser añadido como una parte que confía ? Soy un completo novato en ADFS 2.0. He visto artículos sobre cómo configurar una parte que confía, pero no hacemos la misma para un servicio WCF ? No tengo acceso físico al servidor de ADFS en este punto del tiempo.
    Ya se dijo específicamente el ADFS punto creo que voy a tener que aceptar la suya como la respuesta

    OriginalEl autor Seymour

Dejar respuesta

Please enter your comment!
Please enter your name here