我将在Flask中为一个(待创建的)应用程序构建一个API,该应用程序将使用PhoneGap构建。在API中,许多调用都需要身份验证。
为了进入主题,我阅读了这篇关于为Flask-built API创建身份验证的教程。在本教程中,他们首先展示了用户如何对每次调用使用基本密码身份验证,然后引入了基于令牌的身份验证。
据我所知,调用API的客户端只需获得一个令牌,并使用该令牌对随后的每个调用进行身份验证。同时,客户端应该跟踪时间,或者每9分钟(在旧令牌到期之前)获得一个新令牌,或者只是继续使用令牌进行调用,直到客户端获得Unauhorized Access
消息我的理解正确吗
接下来,我想知道它是如何与你在手机上登录的应用程序协同工作的,然后每当你打开应用程序(比如Facebook应用程序)时都会登录。这对用户来说显然比总是需要提供用户名/密码更方便,我也想实现这样的功能。我想知道像这样的永久登录功能是如何在服务器端实现的?它是通过为每个呼叫提供密码和用户名,还是使用永不过期的令牌,或者以不同的方式完成的
欢迎所有提示!
我已经做了您想做的事情:
-
烧瓶安全https://pythonhosted.org/Flask-Security/:
管理用户和权限。
-
Flask oauth libhttps://flask-oauthlib.readthedocs.org/en/latest/:
提供oauth功能。
因此,您必须了解Oauth流,实现用户后端(如Flask安全性),实现Oauth服务器(例如flak-Oauth-lib),并将其绑定到用户后端。
之后,它就是oauth标准流。你只需要在每个api调用和TADA上给出正确的令牌!
通过这种方式,如果你愿意,你也可以通过oAuth:)