烧瓶安全性没有确认链接

时间:2016-09-27 19:25:21

标签: python flask flask-security

我正在使用flask_security在烧瓶应用中进行注册。注册电子邮件地址时会发送确认邮件,但不包含确认链接。

我没有找到激活它的选项,也没有太多关于它的文档。

目前的配置是

app = Flask(__name__)
app.config["DEBUG"] = True
app.config["SECRET_KEY"] = "..."
app.config["SECURITY_REGISTERABLE"] = True
app.config["SECURITY_RECOVERABLE"] = True
app.config["SECURITY_TRACKABLE"] = True
app.config["SECURITY_CHANGEABLE"] = True
app.config["SECURITY_PASSWORD_HASH"] = "sha512_crypt"
app.config["SECURITY_PASSWORD_SALT"] = "..."
app.config["SECURITY_CONFIRM_LOGIN_WITHOUT_CONFIRMATION"] = False
app.config["MAIL_SERVER"] = "smtp.gmail.com"
app.config["MAIL_PORT"] = 465
app.config["MAIL_USE_SSL"] = True
app.config["MAIL_USERNAME"] = "..."
app.config["MAIL_PASSWORD"] = "..."
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////tmp/flaskpage.db"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False

1 个答案:

答案 0 :(得分:3)

您没有设置应该的所有设置。来自docs

  

SECURITY_CONFIRMABLE

     

指定在注册新帐户时是否要求用户确认其电子邮件地址。如果此值为True,Flask-Security将创建一个端点来处理确认和请求以重新发送确认指令。此端点的URL由SECURITY_CONFIRM_URL配置选项指定。默认为False

您还可以查看代码,它实际上使用它来注册您的用户。来自source code

confirmation_link, token = None, None
...
if _security.confirmable:
    confirmation_link, token = generate_confirmation_link(user)
    do_flash(*get_message('CONFIRM_REGISTRATION', email=user.email))

因为SECURITY_CONFIRMABLE没有设置,默认为False,所以没有链接。