2011-08-07 75 views
50

我有一个应用程序,将使用烧瓶和mongodb;我可能会将它托管在机架空间上。烧瓶用户认证

我需要了解烧瓶认证的工作原理。我没有找到关于这个问题的很多信息。有关于如何推出自己的解决方案的完整教程?如果没有,我当然希望听到一些关于如何为烧瓶应用程序接近它的想法。

大PS:

我刚想过。我也需要打开一个真正的API。该API的一部分将用于前端的AJAX。我如何确保应用程序的这一部分?

任何人都可以解释API认证请求吗?

回答

57

我会建议使用flask-login扩展,它使真正的会话管理易于添加到您的flask应用程序,并提供了一个很好的documentation其中详细介绍了扩展的每个方面。

+0

这是一个经过验证的扩展吗?你有没有在生产中使用它?它有多安全? – pocorschi

+1

我只在1个应用程序中使用它,它看起来是正确的。但是,如果您真的担心安全问题,无论如何您都可能想要自行查看自己的代码(或您使用的任何库的代码)。 – MatToufoutu

+1

它非常安全,恕我直言。如果您担心碰撞,可以使用MD5,将其更改为SHA2。 –

12

我不认为烧瓶有任何内置认证,只支持跟踪会话。

这里有some snippets用于基本的HTTP认证和一些第三方提供商的认证。否则,你将需要推出自己的,或者使用一个框架,有这个烤(如Django的)

这里是一个discussion thread on this topic提供一个有用的链接

+0

谢谢rupello。这确实是我要找的。一步一步如何滚动。我自己的 。据我了解,烧瓶可以跟踪会话,所以我需要在某种检查器中修饰受限制的函数。但是,阿贾克斯部分呢?而且......一篇论文可以帮助我通过做出错误的选择来解决问题 – pocorschi

3

Flask-Login在技术上不会执行身份验证 - 它会执行会话管理,而将(很难安全地执行)身份验证细节留给您。类似Flask-Security实际上实现了会话管理身份验证(还有密码恢复/重置等很好的功能),但代价是必须对数据库有明确的支持。