在缓存页面中处理oauth_required

时间:2015-01-22 19:51:35

标签: python google-app-engine google-api webapp2

我正在开发基于Google App Engine(Python / webapp2)的Web应用程序。 由于该应用程序使用了多个Google API,因此我已经为应用程序RequestHandlers的@ DECORATOR.oauth_required get / post方法进行了修饰。

一切正常,除非我停止使用网站一段时间,当回到它时,我开始注意到API停止工作。我认为这是由于授权已过期但未显示Login表单,因为浏览器正在使用该页面的缓存版本。我想是的,因为如果我强制重新加载(shift + reload),登录表单会突然出现。

我该怎么做才能避免这种情况?

1 个答案:

答案 0 :(得分:2)

您可以通过发回正确的HTTP标头来指示浏览器不要缓存您的页面:

resp.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
resp.headers["Pragma"] = "no-cache"
resp.headers["Expires"] = "0"