在烧瓶中使用Recaptcha时无效输入秘密

时间:2018-08-02 13:19:54

标签: python flask

我有一个flask应用程序,我想在其中使用recapchta来发送电子邮件。

到目前为止,我已经完成了所有工作,并且一切似乎都可以正常工作,但是当我在localhost上测试应用程序时,我收到了作为JSON响应的错误代码。

这是错误代码:

('JSON: ', {u'error-codes': [u'invalid-input-secret'], u'success': False})

因此,我检查了密码是否正确编写,甚至尝试删除密码并制作一个新密码。但是,我怀疑这都不起作用,我可能会用我在代码中写的方式

注意!我没有使用WTForms(因为它不是登录名,只是一个简单的邮件API)。

在这里,我是如何编写配置的:

app.config.update({'RECAPTCHA_ENABLED': True,
               'RECAPTCHA_SITE_KEY':
                   '6Ldj2GcUAAAAAA7MuBOKsDRIk1fMLvNaGBtrB7Du',
               'RECAPTCHA_SECRET_KEY':
                   '(secret key is written here correctly)'})

有人知道我为什么不断收到此错误吗?

我应该将密钥放在config.py文件中吗?

1 个答案:

答案 0 :(得分:1)

好的,所以我找到了一种使之起作用的方法,但是我不认为这是最佳的解决方案(非常欢迎评论或其他答案),我将秘密密钥直接放在这样的方法中:

    r = requests.post('https://www.google.com/recaptcha/api/siteverify',
                      data = {'secret' :
                              'secret-key inserted here directly',
                              'response' :
                              request.form['g-recaptcha-response']})
google_response = json.loads(r.text)
print('JSON: ', google_response)

出于安全原因,我认为这可能不是最佳原因,我认为应该首先将其存储为变量,但是,我尝试了一些不同的配置,但它没有用。