如何在flask安全mongoengine应用程序中确认create_user创建的用户?

时间:2013-03-06 10:51:20

标签: python mongodb flask mongoengine flask-security

我有一个python烧瓶应用程序,使用 mongoengine flask-security 从示例中构建,以显示所有确认,注册,跟踪和恢复功能。< / p>

除了用户在代码中使用:

创建命令之外,一切都有效
MongoEngineUserDatastore.create_user(...)

无法登录。也就是说,当您尝试使用此用户登录时,会收到错误消息:

"Email requires confirmation"

由于尚未发送带有散列网址的电子邮件,因此无法确认。是否有一个参数我可以在某处传递以在创建时确认该用户或在某处设置确认标志?

Here是我的代码:

2 个答案:

答案 0 :(得分:5)

我通过确认新注册的用户并检查mongodb以查看添加了哪些字段来解决这个问题。事实证明,确认所需的字段是confirmed_at,其必须具有日期时间:

import datetime

# Create a user to test with
@app.before_first_request
def create_user():
    user_datastore.create_user(
        email='me@mydomain.com',
        password=utils.encrypt_password('password'),
        confirmed_at=datetime.datetime.now())

我在这里更新了要点:

https://gist.github.com/davidthewatson/327776905ef30815c138

答案 1 :(得分:1)

创建测试用户时,需要激活它们,例如:

@app.before_first_request
def create_user():
    user_datastore.create_user(
        email='me@mydomain.com', 
        password=utils.encrypt_password('password'),
        active=True)
相关问题