我正在使用python-social-auth
包,它有相当奇怪的行为,也就是说,我可以使用现有的gmail帐户登录已经在数据库中注册,但我无法注册新用户。
实际上,这是一个dockerize Flask应用程序(在app.py
中)。如果我没有使用supervisord
,则所有Python Social Auth行为都可以正常工作。这意味着,我直接致电python app.py
,而不是将其配置为supervisord
中的supervisord.conf
运行。
但如果我使用supervisord
,新用户将无法注册。申请将被引导至登录页面。
注意:另一方面,我正在尝试使用Flask-OAuth重写社交实现。
答案 0 :(得分:0)
最后,我发现了这个错误。这些是针对已确认的oauth流程的自定义管道的代码修复:
def pipeline_oauth_confirmed(backend, user, response, *args, **kwargs):
user.active = True
user.confirmed_at = datetime.now()
db_session.commit()
由于应用在登录用户之前需要user.active=True
,因此用户不会登录。我省略了db_session.commit()
电话。一旦添加,它的工作原理!