diff --git a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceAuthorizer.cs b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceAuthorizer.cs index c4373cd..3a1b526 100644 --- a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceAuthorizer.cs +++ b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceAuthorizer.cs @@ -74,18 +74,18 @@ public async Task AuthorizeOAuth1ServiceAsync(string servic public async Task GenerateOAuth1RequestTokenAsync(string serviceAlias, string url) { HttpResponseMessage response = await AuthorizationRequestSender.SendOAuth1RequestForRequestToken(url); + var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { - var responseContent = await response.Content.ReadAsStringAsync(); return AuthorizationResult.AsSuccess(responseContent); } else { throw new AuthorizedServiceHttpException( - $"Error response retrieving request token for '{serviceAlias}'.", + $"Error response retrieving request token for '{serviceAlias}'. Status: {response.StatusCode}. Reason: {response.ReasonPhrase}. Content: {responseContent}.", response.StatusCode, response.ReasonPhrase, - await response.Content.ReadAsStringAsync()); + responseContent); } } @@ -97,16 +97,17 @@ private async Task SendRequest(ServiceDetail serviceDetail, ? await AuthorizationRequestSender.SendOAuth2ExchangeRequest(serviceDetail, parameters) : await AuthorizationRequestSender.SendOAuth2Request(serviceDetail, parameters)); + var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { if (serviceDetail.AuthenticationMethod == AuthenticationMethod.OAuth1) { - OAuth1Token token = await CreateOAuth1TokenFromResponse(response); + OAuth1Token token = CreateOAuth1TokenFromResponse(responseContent); await StoreOAuth1Token(serviceDetail.Alias, token); } else { - OAuth2Token token = await CreateOAuth2TokenFromResponse(serviceDetail, response); + OAuth2Token token = CreateOAuth2TokenFromResponse(serviceDetail, responseContent); await StoreOAuth2Token(serviceDetail.Alias, token); } @@ -115,10 +116,10 @@ private async Task SendRequest(ServiceDetail serviceDetail, else { throw new AuthorizedServiceHttpException( - $"Error response from token request to '{serviceDetail.Alias}'.", + $"Error response from token request to '{serviceDetail.Alias}'. Status: {response.StatusCode}. Reason: {response.ReasonPhrase}. Content: {responseContent}.", response.StatusCode, response.ReasonPhrase, - await response.Content.ReadAsStringAsync()); + responseContent); } } } diff --git a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceBase.cs b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceBase.cs index 80cb0ba..58cc3fc 100644 --- a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceBase.cs +++ b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceBase.cs @@ -47,17 +47,11 @@ public AuthorizedServiceBase( protected ServiceDetail GetServiceDetail(string serviceAlias) => _serviceDetailOptions.Get(serviceAlias); - protected async Task CreateOAuth2TokenFromResponse(ServiceDetail serviceDetail, HttpResponseMessage response) - { - var responseContent = await response.Content.ReadAsStringAsync(); - return _tokenFactory.CreateFromOAuth2ResponseContent(responseContent, serviceDetail); - } + protected OAuth1Token CreateOAuth1TokenFromResponse(string responseContent) => + _tokenFactory.CreateFromOAuth1ResponseContent(responseContent); - protected async Task CreateOAuth1TokenFromResponse(HttpResponseMessage response) - { - var responseContent = await response.Content.ReadAsStringAsync(); - return _tokenFactory.CreateFromOAuth1ResponseContent(responseContent); - } + protected OAuth2Token CreateOAuth2TokenFromResponse(ServiceDetail serviceDetail, string responseContent) => + _tokenFactory.CreateFromOAuth2ResponseContent(responseContent, serviceDetail); protected async Task GetStoredToken(string serviceAlias) => await OAuth2TokenStorage.GetTokenAsync(serviceAlias); diff --git a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceCaller.cs b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceCaller.cs index 5f249ad..ee4c7a8 100644 --- a/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceCaller.cs +++ b/src/Umbraco.AuthorizedServices/Services/Implement/AuthorizedServiceCaller.cs @@ -289,19 +289,20 @@ private async Task EnsureAccessToken(ServiceDetail serviceDetail, O Dictionary parameters = _refreshTokenParametersBuilder.BuildParameters(serviceDetail, refreshToken); HttpResponseMessage response = await AuthorizationRequestSender.SendOAuth2Request(serviceDetail, parameters); + var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { - OAuth2Token token = await CreateOAuth2TokenFromResponse(serviceDetail, response); + OAuth2Token token = CreateOAuth2TokenFromResponse(serviceDetail, responseContent); await StoreOAuth2Token(serviceDetail.Alias, token); return token; } else { throw new AuthorizedServiceHttpException( - $"Error response from refresh token request to '{serviceDetail.Alias}'.", + $"Error response from refresh token request to '{serviceDetail.Alias}'. Status: {response.StatusCode}. Reason: {response.ReasonPhrase}. Content: {responseContent}.", response.StatusCode, response.ReasonPhrase, - await response.Content.ReadAsStringAsync()); + responseContent); } } @@ -324,19 +325,20 @@ private async Task EnsureExchangeAccessToken(ServiceDetail serviceD Dictionary parameters = _exchangeTokenParametersBuilder.BuildParameters(serviceDetail, accessToken); HttpResponseMessage response = await AuthorizationRequestSender.SendOAuth2ExchangeRequest(serviceDetail, parameters); + var responseContent = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { - OAuth2Token token = await CreateOAuth2TokenFromResponse(serviceDetail, response); + OAuth2Token token = CreateOAuth2TokenFromResponse(serviceDetail, responseContent); await StoreOAuth2Token(serviceAlias, token); return token; } else { throw new AuthorizedServiceHttpException( - $"Error response from exchange access token request to '{serviceAlias}'.", + $"Error response from exchange access token request to '{serviceDetail.Alias}'. Status: {response.StatusCode}. Reason: {response.ReasonPhrase}. Content: {responseContent}.", response.StatusCode, response.ReasonPhrase, - await response.Content.ReadAsStringAsync()); + responseContent); } } diff --git a/version.json b/version.json index d7e0075..051a40d 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "10.1.0", + "version": "10.1.1", "assemblyVersion": { "precision": "build" },