【问题标题】:Why my Flask application can't create new user using Python Social Auth?为什么我的 Flask 应用程序无法使用 Python Social Auth 创建新用户?
【发布时间】:2016-12-12 04:17:46
【问题描述】:

我正在使用python-social-auth包,它有一个比较奇怪的行为,即我可以使用已经在数据库中注册的现有gmail帐户登录,但我无法注册新用户。

其实这是一个 dockerize Flask 应用程序(在app.py)。如果我不使用supervisord,所有 Python 社交身份验证行为都可以正常工作。也就是说,我直接调用python app.py,而不是在supervisord.conf中配置为supervisord运行。

但是如果我使用supervisord,新用户将无法注册。应用程序将被引导到登录页面。

注意:另一方面,我正在尝试使用 Flask-OAuth 重写社交实现。

【问题讨论】:

  • 你能展示你的代码和主管配置吗?
  • 感谢您的评论,但我在代码中发现了错误。我会发布答案

标签: flask python-social-auth


【解决方案1】:

最后,我发现了这个错误。这些是用于确认 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() 调用。一旦添加,它的工作原理!

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多