如何确认在Flask Security MongoEngine应用中通过create_user创建的用户?
我有一个用mongoengine和flask-security搭建的python flask应用,这个应用是根据示例创建的,目的是实现所有的确认、注册、跟踪和恢复功能。
一切都正常,除了用代码直接创建的用户:
MongoEngineUserDatastore.create_user(...)
无法登录。也就是说,当你尝试用这个用户登录时,会出现一个错误信息:
"Email requires confirmation"
因为没有发送带有哈希链接的邮件,所以无法进行确认。有没有什么参数可以在创建用户时传递,或者在哪里设置确认标记呢?
2 个回答
1
当你创建测试用户时,需要让他们处于“激活”状态,比如:
@app.before_first_request
def create_user():
user_datastore.create_user(
email='me@mydomain.com',
password=utils.encrypt_password('password'),
active=True)
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())
我在这里更新了相关内容: