Move recaptcha check after the username check
Ensures that if someone chooses an existing username, they don't need to re-recaptcha Fixes https://jira.coreos.com/browse/QS-65
This commit is contained in:
parent
01bedf6150
commit
9b2fb46e34
1 changed files with 12 additions and 12 deletions
|
@ -412,18 +412,6 @@ class User(ApiResource):
|
|||
|
||||
user_data = request.get_json()
|
||||
|
||||
# If recaptcha is enabled, then verify the user is a human.
|
||||
if features.RECAPTCHA:
|
||||
recaptcha_response = user_data.get('recaptcha_response', '')
|
||||
result = recaptcha2.verify(app.config['RECAPTCHA_SECRET_KEY'],
|
||||
recaptcha_response,
|
||||
request.remote_addr)
|
||||
|
||||
if not result['success']:
|
||||
return {
|
||||
'message': 'Are you a bot? If not, please revalidate the captcha.'
|
||||
}, 400
|
||||
|
||||
invite_code = user_data.get('invite_code', '')
|
||||
existing_user = model.user.get_nonrobot_user(user_data['username'])
|
||||
if existing_user:
|
||||
|
@ -443,6 +431,18 @@ class User(ApiResource):
|
|||
if not can_create_user(user_data.get('email')):
|
||||
raise request_error(message='Creation of a user account for this e-mail is disabled; please contact an administrator')
|
||||
|
||||
# If recaptcha is enabled, then verify the user is a human.
|
||||
if features.RECAPTCHA:
|
||||
recaptcha_response = user_data.get('recaptcha_response', '')
|
||||
result = recaptcha2.verify(app.config['RECAPTCHA_SECRET_KEY'],
|
||||
recaptcha_response,
|
||||
request.remote_addr)
|
||||
|
||||
if not result['success']:
|
||||
return {
|
||||
'message': 'Are you a bot? If not, please revalidate the captcha.'
|
||||
}, 400
|
||||
|
||||
try:
|
||||
prompts = model.user.get_default_user_prompts(features)
|
||||
new_user = model.user.create_user(user_data['username'], user_data['password'],
|
||||
|
|
Reference in a new issue