-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.py
More file actions
34 lines (25 loc) · 853 Bytes
/
server.py
File metadata and controls
34 lines (25 loc) · 853 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from flask import Flask, request, jsonify
app = Flask(__name__) # ✅ This must be exactly 'app'
from dotenv import load_dotenv
import os, requests
from flask_cors import CORS
CORS(app)
load_dotenv()
SECRET = os.getenv("RECAPTCHA_SECRET")
app = Flask(__name__)
@app.post("/verify-recaptcha")
def verify_recaptcha():
token = request.json.get("token")
if not token:
return jsonify({"success": False, "error": "no-token"}), 400
# Verify with Google
resp = requests.post(
"https://www.google.com/recaptcha/api/siteverify",
data={"secret": SECRET, "response": token}
).json()
if resp.get("success"):
return jsonify({"success": True})
else:
return jsonify({"success": False, "error": resp.get("error-codes")}), 403
if __name__ == "__main__":
app.run(host="0.0.0.0", port=3000)