Skip to content

fix github action leaking verification code #29

fix github action leaking verification code

fix github action leaking verification code #29

Workflow file for this run

name: Trigger Verifier on Commit
on:
push:
branches:
- main
jobs:
send-post-request:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python and Install pyotp
run: |
python3 -m venv venv
source venv/bin/activate
pip install pyotp
- name: Generate TOTP Code
id: generate_totp
run: |
echo "SECRET_KEY=${{ secrets.SECRET_KEY }}" >> $GITHUB_ENV
echo "import pyotp; print(pyotp.TOTP('${{ secrets.SECRET_KEY }}').now())" > totp.py
TOTP_CODE=$(venv/bin/python3 totp.py)
echo "code=$TOTP_CODE" >> $GITHUB_ENV
- name: Send deployment request to AuthRun
id: send_post
run: |
# Mask the code in the logs
echo "::add-mask::${{ env.code }}"
# Disable command echoing to avoid printing the curl command with the code
set +x
response=$(curl -X POST "${{ secrets.FLASK_VERIFIER_URL }}/verify" \
-d "code=${{ env.code }}" -s)
# Re-enable command echoing
set -x
echo "Response: $response"
echo "$response" > response.json
success=$(echo $response | jq -r '.success')
message=$(echo $response | jq -r '.message')
if [[ "$success" == "false" ]]; then
echo "Message: $message"
echo "Try manual deployment"
exit 1
else
echo "Verification succeeded."
fi
env:
code: ${{ env.code }}
FLASK_VERIFIER_URL: ${{ secrets.FLASK_VERIFIER_URL }}
- name: Handle Success
if: steps.send_post.outputs.success == 'true'
run: echo "Action completed successfully!"