WindowsAzure.Acs.Oauth2.Protocol.OAuthMessageSerializer.GetFormEncodedQueryFormat C# (CSharp) Méthode

GetFormEncodedQueryFormat() public méthode

public GetFormEncodedQueryFormat ( OAuthMessage message ) : string
message OAuthMessage
Résultat string
        public virtual string GetFormEncodedQueryFormat(OAuthMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException("message");
            }
            System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
            bool skipDelimiter = true;
            foreach (string key in message.Parameters.Keys)
            {
                if (message.Parameters[key] != null)
                {
                    if (!skipDelimiter)
                    {
                        strBuilder.Append("&");
                    }
                    strBuilder.Append(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0}={1}", new object[]
                                                                                                                      {
                                                                                                                          HttpUtility.UrlEncode(key), 
                                                                                                                          HttpUtility.UrlEncode(message.Parameters[key])
                                                                                                                      }));
                    skipDelimiter = false;
                }
            }
            return strBuilder.ToString();
        }

Usage Example

        private void AuthorizeTwoLegged()
        {
            var authorizeCodeRequest = BuildAuthorizationCodeRequest();

            var serializer = new OAuthMessageSerializer();
            var encodedQueryFormat = serializer.GetFormEncodedQueryFormat(authorizeCodeRequest);

            HttpWebRequest httpWebRequest = WebRequest.Create(authorizeCodeRequest.BaseUri) as HttpWebRequest;
            httpWebRequest.Method = "POST";
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            StreamWriter streamWriter = new StreamWriter(httpWebRequest.GetRequestStream());
            streamWriter.Write(encodedQueryFormat);
            streamWriter.Close();

            try
            {
                var message = serializer.Read(httpWebRequest.GetResponse() as HttpWebResponse) as EndUserAuthorizationResponse;
                if (message != null)
                {
                    AuthorizeWithACS(message.Code);
                }
            }
            catch (WebException webex)
            {
                var message = serializer.Read(webex.Response as HttpWebResponse);

                var endUserAuthorizationFailedResponse = message as EndUserAuthorizationFailedResponse;
                if (endUserAuthorizationFailedResponse != null)
                {
                    throw new AuthenticationException(endUserAuthorizationFailedResponse.ErrorDescription);
                }

                var userAuthorizationFailedResponse = message as ResourceAccessFailureResponse;
                if (userAuthorizationFailedResponse != null)
                {
                    throw new AuthenticationException(userAuthorizationFailedResponse.ErrorDescription);
                }

                throw;
            }
        }
All Usage Examples Of WindowsAzure.Acs.Oauth2.Protocol.OAuthMessageSerializer::GetFormEncodedQueryFormat