From a9466451f04bb455b6c6cd0ad16e2c5667db7084 Mon Sep 17 00:00:00 2001 From: Todd Martin Date: Mon, 7 Nov 2022 16:41:11 -0500 Subject: [PATCH] Added logging for Captchas (cherry picked from commit 0cb44ab926af0aa5ab4ed283e4f680c20c01381a) --- .github/workflows/release.yml | 9 +++------ .../Implementations/HCaptchaValidationService.cs | 9 +++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 98bb40c8f4..5d1ade9830 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -281,8 +281,7 @@ jobs: DOCKER_CONTENT_TRUST: ${{ steps.check-matrix-dct.outputs.dct_enabled }} DOCKER_CONTENT_TRUST_REPOSITORY_PASSPHRASE: ${{ steps.setup-dct.outputs.dct-delegate-repo-passphrase }} SERVICE_NAME: ${{ steps.setup.outputs.service_name }} - run: | - docker push bitwarden/$SERVICE_NAME:$_RELEASE_VERSION + run: docker push bitwarden/$SERVICE_NAME:$_RELEASE_VERSION - name: Log out of Docker and disable Docker Notary if: matrix.origin_docker_repo == 'bitwarden' @@ -328,8 +327,7 @@ jobs: env: SERVICE_NAME: ${{ steps.setup.outputs.service_name }} REGISTRY: bitwardenqa.azurecr.io - run: | - docker push $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION + run: docker push $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION - name: Log out of Docker run: docker logout @@ -363,8 +361,7 @@ jobs: env: SERVICE_NAME: ${{ steps.setup.outputs.service_name }} REGISTRY: bitwardenprod.azurecr.io - run: | - docker push $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION + run: docker push $REGISTRY/$SERVICE_NAME:$_RELEASE_VERSION - name: Log out of Docker if: matrix.prod_acr == true diff --git a/src/Core/Services/Implementations/HCaptchaValidationService.cs b/src/Core/Services/Implementations/HCaptchaValidationService.cs index b8a63c642c..dc07494ca1 100644 --- a/src/Core/Services/Implementations/HCaptchaValidationService.cs +++ b/src/Core/Services/Implementations/HCaptchaValidationService.cs @@ -77,6 +77,7 @@ public class HCaptchaValidationService : ICaptchaValidationService if (!responseMessage.IsSuccessStatusCode) { + _logger.LogError("Error submitting Captcha token to HCaptcha: {status} - {message}", responseMessage.StatusCode, responseMessage.ReasonPhrase); return response; } @@ -86,6 +87,12 @@ public class HCaptchaValidationService : ICaptchaValidationService response.MaybeBot = score >= _globalSettings.Captcha.MaybeBotScoreThreshold; response.IsBot = score >= _globalSettings.Captcha.IsBotScoreThreshold; response.Score = score; + + if (!response.Success && hcaptchaResponse.ErrorCodes != null && hcaptchaResponse.ErrorCodes.Any()) + { + _logger.LogError("HCaptcha errors received when validating Captcha for user {email}: {@errors}", user.Email, hcaptchaResponse.ErrorCodes); + } + return response; } @@ -125,6 +132,8 @@ public class HCaptchaValidationService : ICaptchaValidationService public double? Score { get; set; } [JsonPropertyName("score_reason")] public List ScoreReason { get; set; } + [JsonPropertyName("error-codes")] + public List ErrorCodes { get; set; } public void Dispose() { } }