diff --git a/.github/workflows/deploy-backend-dev.yml b/.github/workflows/deploy-backend-dev.yml index 7178b1b33..122cbe4bd 100644 --- a/.github/workflows/deploy-backend-dev.yml +++ b/.github/workflows/deploy-backend-dev.yml @@ -27,9 +27,6 @@ jobs: - name: Build backend and copy zip to S3 run: | - echo "${{ secrets.RECAPTCHA_CONFIG_JSON_BASE64 }}" | base64 -d > temp.json - sed -i "s/RECAPTCHA_CONFIG_JSON_BASE64/$(sed 's:/:\\/:g' temp.json)/g" utils/helper.go - rm temp.json apt-get update && apt-get install -y zip GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o main main.go zip canopas_serverless_dev_${{ github.sha }}.zip main @@ -59,6 +56,7 @@ jobs: DbPort=${{ secrets.DB_PORT }}, DbName=${{ secrets.DB_NAME }}, BlogDbName=${{ secrets.BLOG_DB_NAME }}, + RecaptchaConfigJSONBase64=${{ secrets.RECAPTCHA_CONFIG_JSON_BASE64 }}, RecaptchaSiteKey=${{ secrets.RECAPTCHA_SITE_KEY }}, RecaptchaProjectId=${{ secrets.RECAPTCHA_PROJECT_ID }}, JobsSpreadsheetId=${{ secrets.JOBS_SPREADSHEET_ID }}, @@ -66,7 +64,6 @@ jobs: ResourcesURL=${{secrets.RESOURCES_URL}}, LambdaBucket=canopas-lambda-handlers, LambdaUrl=canopas_serverless_dev_${{ github.sha }}.zip, - LambdaTimeout=10, LambdaRoleName=canopas-dev-lambda-role, LambdaName=canopas-dev-lambda-function, ApiGatewayName=canopas-dev-lambda-api, diff --git a/infrastructure/backend.yml b/infrastructure/backend.yml index fe64b9c08..fd12cea61 100644 --- a/infrastructure/backend.yml +++ b/infrastructure/backend.yml @@ -49,6 +49,9 @@ Parameters: BlogDbName: Type: String Description: Postgres blog database name. + RecaptchaConfigJSONBase64: + Type: String + Description: Recaptcha enterprise credentials in base64 format RecaptchaSiteKey: Type: String Description: Use to verify recpatcha token. @@ -76,9 +79,6 @@ Parameters: LambdaUrl: Type: String Description: Path of lambda - LambdaTimeout: - Type: Number - Description: Timeout for lambda function LambdaRoleName: Type: String Description: Name of the lambda role @@ -129,7 +129,7 @@ Resources: Handler: main MemorySize: 256 Timeout: - Fn::Sub: ${LambdaTimeout} + Fn::Sub: 10 Role: Fn::GetAtt: "LambdaExecutionRole.Arn" VpcConfig: @@ -168,6 +168,8 @@ Resources: Fn::Sub: ${DbName} BLOG_DB_NAME: Fn::Sub: ${BlogDbName} + RECAPTCHA_CONFIG_JSON_BASE64: + Fn::Sub: ${RecaptchaConfigJSONBase64} RECAPTCHA_SITE_KEY: Fn::Sub: ${RecaptchaSiteKey} RECAPTCHA_PROJECT_ID: diff --git a/utils/helper.go b/utils/helper.go index 93664b199..0911662c8 100755 --- a/utils/helper.go +++ b/utils/helper.go @@ -21,8 +21,6 @@ import ( recaptchapb "google.golang.org/genproto/googleapis/cloud/recaptchaenterprise/v1" ) -const recaptchaBase64 = "RECAPTCHA_CONFIG_JSON_BASE64" - type utilsRepository struct{} type UtilsRepository interface { SendEmail(*ses.SendEmailInput, *ses.SendRawEmailInput) int @@ -57,7 +55,7 @@ func (repo *utilsRepository) VerifyRecaptcha(token string) (bool, error) { //create recaptcha assessment and verify token ctx := context.Background() - credBytes, err := b64.StdEncoding.DecodeString(recaptchaBase64) + credBytes, err := b64.StdEncoding.DecodeString(os.Getenv("RECAPTCHA_CONFIG_JSON_BASE64")) if err != nil { log.Error(err) return false, err