5

希望通过 LinkedIn、Google、Facebook 在我们的应用程序中实现社交身份验证。我目前正在使用烧瓶安全来帮助管理我们应用程序中的用户/角色。我正在寻找一些关于 Flask/Flask-Security 和 Social Authentication 最佳实践的指导。

我已经看过 flask-social 插件,但我也想选择本地基于表单的登录。

到目前为止,我正计划为 flask-security 编写一个新的登录视图实现,它可以确定我是否使用社交网站(通过在用户单击“使用 XYZ 登录”时传递查询参数)进行登录。社交身份验证发生后,我计划运行常规的烧瓶安全登录来设置所有适当的会话令牌以及用户和角色,以便 @login_required 装饰器将继续工作。

我并没有真正看到任何用于覆盖flask-security 中的登录视图功能的钩子,所以我计划1)将现有实现复制到我自己的应用程序中,或者2)调用flask_security_views::login。

但是,我想知道是否有一些已经在某个地方实施,或者是一个更好的开始。看来我真的要削减很多现有的代码。

谢谢

4

1 回答 1

1

马克希尔德斯是正确的。

flask-social 允许您通过表单(用户名/密码)或通过社交登录。因此,您可以将它与 flask-security、flask-login 或任何您想要的基于密码的身份验证结合使用。我已经将flask-social 与flask-security 结合使用,并且可以确认它们可以很好地协同工作。

flask-social 将每个User对象链接到零个或多个其他社交帐户,这些帐户存储在单独的表/数据存储中。因此,它不会取代现有的密码基础设施……它只是扩充了User模型并添加了额外的社交方法,以允许用户通过社交帐户进行登录。

于 2015-02-10T08:32:04.247 回答