Ejemplo n.º 1
0
        private string getResponse(string stsUrl, string realm)
        {
            RequestSecurityToken rst = new RequestSecurityToken
            {
                RequestType = WSTrustFeb2005Constants.RequestTypes.Issue,
                AppliesTo   = new EndpointReference(realm),
                KeyType     = WSTrustFeb2005Constants.KeyTypes.Bearer,
                TokenType   = Microsoft.IdentityModel.Tokens.SecurityTokenTypes.Saml11TokenProfile11
            };

            WSTrustFeb2005RequestSerializer trustSerializer = new WSTrustFeb2005RequestSerializer();

            WSHttpBinding binding = new WSHttpBinding();

            binding.Security.Mode = SecurityMode.TransportWithMessageCredential;

            binding.Security.Message.ClientCredentialType       = MessageCredentialType.UserName;
            binding.Security.Message.EstablishSecurityContext   = false;
            binding.Security.Message.NegotiateServiceCredential = false;

            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;

            EndpointAddress address = new EndpointAddress(stsUrl);

            using (WSTrustFeb2005ContractClient trustClient = new WSTrustFeb2005ContractClient(binding, address))
            {
                trustClient.ClientCredentials.UserName.UserName = _username;
                trustClient.ClientCredentials.UserName.Password = _password;
                Message response = trustClient.EndIssue(
                    trustClient.BeginIssue(
                        Message.CreateMessage(
                            MessageVersion.Default,
                            WSTrustFeb2005Constants.Actions.Issue,
                            new RequestBodyWriter(trustSerializer, rst)
                            ),
                        null,
                        null));
                trustClient.Close();
                using (XmlDictionaryReader reader = response.GetReaderAtBodyContents())
                {
                    return(reader.ReadOuterXml());
                }
            }
        }
Ejemplo n.º 2
0
        string getResponse(string stsUrl, string realm)
        {
            RequestSecurityToken rst = new RequestSecurityToken {
                RequestType = WSTrustFeb2005Constants.RequestTypes.Issue,
                AppliesTo = new EndpointAddress(realm),
                KeyType = WSTrustFeb2005Constants.KeyTypes.Bearer,
                TokenType = Microsoft.IdentityModel.Tokens.SecurityTokenTypes.Saml11TokenProfile11
            };

            WSTrustFeb2005RequestSerializer trustSerializer = new WSTrustFeb2005RequestSerializer();

            WSHttpBinding binding = new WSHttpBinding();

            binding.Security.Mode = SecurityMode.TransportWithMessageCredential;

            binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
            binding.Security.Message.EstablishSecurityContext = false;
            binding.Security.Message.NegotiateServiceCredential = false;

            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;

            EndpointAddress address = new EndpointAddress(stsUrl);

            using (WSTrustFeb2005ContractClient trustClient = new WSTrustFeb2005ContractClient(binding, address)) {
                trustClient.ClientCredentials.UserName.UserName = _username;
                trustClient.ClientCredentials.UserName.Password = _password;
                Message response = trustClient.EndIssue(
                    trustClient.BeginIssue(
                        Message.CreateMessage(
                            MessageVersion.Default,
                            WSTrustFeb2005Constants.Actions.Issue,
                            new RequestBodyWriter(trustSerializer, rst)
                        ),
                        null, null));
                trustClient.Close();
                using (XmlDictionaryReader reader = response.GetReaderAtBodyContents())
                    return reader.ReadOuterXml();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Helper Method
        /// </summary>
        /// <param name="stsUrl"></param>
        /// <param name="realm"></param>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        private static string GetResponse(string stsUrl, string realm, string username, string password)
        {
            RequestSecurityToken rst = new RequestSecurityToken
            {
                RequestType = System.IdentityModel.Protocols.WSTrust.RequestTypes.Issue,
                AppliesTo = new EndpointReference(realm),
                //AppliesTo = new EndpointReference("urn:federation:MicrosoftOnline"),
                KeyType = System.IdentityModel.Protocols.WSTrust.KeyTypes.Bearer
            };
            WSTrustFeb2005RequestSerializer trustSerializer = new WSTrustFeb2005RequestSerializer();
            WSHttpBinding binding = new WSHttpBinding();
            binding.Security.Mode = SecurityMode.TransportWithMessageCredential;
            binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
            binding.Security.Message.EstablishSecurityContext = false;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;

            EndpointAddress address = new EndpointAddress(stsUrl);
            using (WSTrustFeb2005ContractClient trustClient = new WSTrustFeb2005ContractClient(binding, address))
            {
                trustClient.ClientCredentials.UserName.UserName = username;
                trustClient.ClientCredentials.UserName.Password = password;
                Message response = trustClient.EndIssue(
                        trustClient.BeginIssue(
                                                Message.CreateMessage(
                                                    MessageVersion.Default,
                                                    Issue,
                                                    new RequestBodyWriter(trustSerializer, rst)
                                               ),
                                               null,
                                               null));
                trustClient.Close();

                using (XmlDictionaryReader reader = response.GetReaderAtBodyContents())
                {
                    return reader.ReadOuterXml();
                }
            }
        }