Basicaly what the title says for some on my site https://mathewsjoy.herokuapp.com/ when i try to login nothing happens i fill the recpatcha enter right details but pages just refreshes and does nothing, but when i do it on a local host, it works fine i can log in and do everything normally.
Ive also tried removing the recaptcha stuff and on local host works fine, but on heroku still same issue. Hope someone with more knowledge can help. If needed i can link my github repo
LOGIN FORM
# Log in form
class LoginForm(FlaskForm):
# Validate required fields from user for sign in
email = StringField('Email',
validators=[DataRequired(), Email()])
password = PasswordField('Password',
validators=[DataRequired()])
recaptcha = RecaptchaField('Please complete the verification below to sign in', validators=[DataRequired()]) # Used to prevent bots brute force sign ins
remember = BooleanField("Remember Me")
submit = SubmitField('Login')
LOGIN HTML WITH RECAPTCHA CODE
{% extends "layout.html" %}
{% block content %}
<h1 class="p-3">Sign In Now</h1>
<div class="content-section">
<form method="POST" action="">
{{ form.hidden_tag() }}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Lets get you logged in!</legend>
<div class="form-group">
{{ form.email.label(class="form-control-label") }}
{% if form.email.errors %}
{{ form.email(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.email.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.email(class="form-control form-control-lg") }}
{% endif %}
</div>
<div class="form-group">
{{ form.password.label(class="form-control-label") }}
{% if form.password.errors %}
{{ form.password(class="form-control form-control-lg is-invalid") }}
<div class="invalid-feedback">
{% for error in form.password.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.password(class="form-control form-control-lg") }}
{% endif %}
</div>
<!--Option to remember user password-->
<div class="form-check">
{{ form.remember(class="form-check-input")}}
{{ form.remember.label(class="form-check-label")}}
</div>
</fieldset>
<!--REcaptcha-->
<div class="form-group">
{{ form.recaptcha.label(class="form-control-label") }}
{% if form.recaptcha.errors %}
{{ form.recaptcha()}}
<div class="invalid-feedback">
{% for error in form.recaptcha.errors %}
<span>{{ error }}</span>
{% endfor %}
</div>
{% else %}
{{ form.recaptcha()}}
{% endif %}
</div>
<div class="form-group">
{{ form.submit(class="btn btn-outline-info")}}
<!--Forgot password option-->
<small class="text-muted ml-2">
<a href="{{ url_for('users.reset_request') }}">Forgot your password?</a>
</small>
</div>
</form>
</div>
<div class="border-top pt-3">
<small class="text-muted">
Need An Account? <a class="ml-2" href="{{ url_for('users.register')}}">Make an account</a>
</small>
</div>
{% endblock content %}
CONFIG FILE
import os
class Config:
# Make a random generated secret key for app, 'import secrets', 'secrets.token_hex(16)'
# Use windows enviroment variables
SECRET_KEYs = os.urandom(32)
SECRET_KEY = SECRET_KEYs
SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI')
# Set up email deatils for password reset
MAIL_SERVER = 'smtp.googlemail.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USERNAME = os.environ.get('EMAIL')
MAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD')
# Google recaptchas public and private keys
RECAPTCHA_PUBLIC_KEY = os.environ.get('RECAPTCHA_SITE_KEY')
RECAPTCHA_PRIVATE_KEY = os.environ.get('RECAPTCHA_SECRET_KEY')
I have also set the env variables on the heroku command line