public Read ( string httpMethod, string httpContentType, |
||
httpMethod | string | |
httpContentType | string | |
requestUri | ||
incomingStream | System | |
return |
public virtual OAuthMessage Read(string httpMethod, string httpContentType, Uri requestUri, System.IO.Stream incomingStream)
{
if (string.IsNullOrEmpty(httpMethod))
{
throw new ArgumentOutOfRangeException("httpMethod");
}
if (requestUri == null)
{
throw new ArgumentNullException("requestUri");
}
if (incomingStream == null)
{
throw new ArgumentNullException("incomingStream");
}
Dictionary<string,string> oAuthParameters = new Dictionary<string,string>();
if (httpMethod == "POST")
{
if (httpContentType.Contains("application/x-www-form-urlencoded"))
{
oAuthParameters = this.ReadFormEncodedParameters(incomingStream);
}
else
{
if (!httpContentType.Contains("application/json"))
{
throw new OAuthMessageSerializationException(string.Format(Resources.ID3721, httpMethod, httpContentType));
}
oAuthParameters = this.ReadJsonEncodedParameters(incomingStream);
}
}
else
{
if (!(httpMethod == "GET"))
{
throw new OAuthMessageSerializationException(string.Format(Resources.ID3722, httpMethod));
}
oAuthParameters = HttpQueryStringParser.Parse(requestUri.Query);
}
return this.CreateTypedOAuthMessageFromParameters(OAuthMessageSerializer.GetBaseUrl(requestUri), oAuthParameters);
}
OAuthMessageSerializer::Read ( |
/// <summary> /// Authorizes the specified refresh token. /// </summary> /// <param name="refreshToken">The refresh token.</param> public async Task AuthorizeAsync(string refreshToken) { var authorizeRequest = BuildAccessTokenRequest(refreshToken); var req = new HttpClient(); var response = await req.PostAsync(authorizeRequest.BaseUri, new FormUrlEncodedContent(authorizeRequest.Parameters)); var serializer = new OAuthMessageSerializer(); var deserializedMessage = await serializer.Read(response); var message = deserializedMessage as AccessTokenResponse; if (message != null) { CurrentAccessToken = message; LastAccessTokenRefresh = DateTime.UtcNow; } var endUserAuthorizationFailedResponse = deserializedMessage as EndUserAuthorizationFailedResponse; if (endUserAuthorizationFailedResponse != null) { throw new SecurityException(endUserAuthorizationFailedResponse.ErrorDescription); } var userAuthorizationFailedResponse = deserializedMessage as ResourceAccessFailureResponse; if (userAuthorizationFailedResponse != null) { throw new SecurityException(userAuthorizationFailedResponse.ErrorDescription); } }