File size: 3,292 Bytes
0c6c1fb b67759d 0c6c1fb b67759d 91b073c b67759d 91b073c b67759d 91b073c b67759d dd7a7a0 b67759d |
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Register</title>
<link rel="stylesheet" type="text/css" href="/static/style.css">
</head>
<body>
<footer>
<p>Copyright © Your Website</p>
</footer>
<div class="background-container">
<div class="color-overlay"></div>
<h1>Register</h1>
<a href="{{ google_oauth_url }}">Register with Google</a>
<form action="/register" method="post" id="registration-form" onsubmit="handleSubmit(event)">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required><br><br>
<label for="confirm_password">Confirm Password:</label>
<input type="password" id="confirm_password" name="confirm_password" required><br><br>
<input type="hidden" id="recaptcha_token" name="recaptcha_token" value="">
<div class="g-recaptcha" data-sitekey="6LeSJgwpAAAAAD9UlPdC911k8UgD6Uh3068xXgGj" data-callback="setRecaptchaToken"></div>
<br>
<button type="submit" id="submit-button">Register</button>
</form>
</div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
function setRecaptchaToken(token) {
document.getElementById('recaptcha_token').value = token;
}
function areFieldsFilled() {
var username = document.getElementById('username').value.trim();
var email = document.getElementById('email').value.trim();
var password = document.getElementById('password').value.trim();
var confirmPassword = document.getElementById('confirm_password').value.trim();
var recaptchaToken = document.getElementById('recaptcha_token').value.trim();
return username && email && password && confirmPassword && recaptchaToken;
}
function handleSubmit(event) {
event.preventDefault();
if (!areFieldsFilled()) {
alert("Please fill in all required fields and complete the reCAPTCHA.");
return;
}
var formData = new FormData(event.target);
fetch('/register', {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok ' + response.statusText);
}
return response.json();
})
.then(data => {
storeAccessToken(data.access_token);
window.location.href = `${data.redirect_url}?token=${data.access_token}`;
})
.catch(error => {
console.error('Error:', error);
});
}
function storeAccessToken(token) {
// Implement your token storage logic here
console.log("Token stored:", token);
}
</script>
</body>
</html> |