浏览器缓存AJAX头

浏览器缓存AJAX头,ajax,caching,cordova,http-headers,Ajax,Caching,Cordova,Http Headers,我在PhoneGap中开发了一个应用程序。我使用的restapi()使用httpbasic身份验证来验证每个请求。标题看起来像: Authorization: Basic Base64(username:password) 其中Base64()表示将参数转换为Base64编码的过程。以这种方式执行请求没有问题。一旦用户成功登录(由200ok消息指示),我将保存编码的令牌并将其用于所有后续请求。为了实现注销,我将存储的令牌设置为空字符串: api.token = ""; 然后显示登录页面。但是

我在PhoneGap中开发了一个应用程序。我使用的restapi()使用httpbasic身份验证来验证每个请求。标题看起来像:

Authorization: Basic Base64(username:password)
其中
Base64()
表示将参数转换为Base64编码的过程。以这种方式执行请求没有问题。一旦用户成功登录(由
200ok
消息指示),我将保存编码的令牌并将其用于所有后续请求。为了实现注销,我将存储的令牌设置为空字符串:

api.token = "";
然后显示登录页面。但是,此时,无论输入什么密码,API都会返回一个
200OK
响应,就像请求来自最初登录的用户一样

除了在应用程序和服务器之间插入代理之外,我已经完成了所有工作,以验证是否设置了正确的请求头(例如,密码无效),包括在使用令牌之前记录该令牌,以及使用Safari Web Inspector和Google Developer工具进行检查。在每个实例中,都会正确地报告令牌包含我输入的密码,而不是应该已删除的原始密码

为了执行“记住我”功能,我将令牌保存在本地存储器中。如果我杀死应用程序并使用Xcode(用于iOS)重建它,然后尝试重新打开应用程序(保存了无效令牌),我会收到各种403错误,表明它正在使用我输入的令牌和无效密码。所以过程是这样的

  • 使用有效用户名登录
  • 注销
  • 输入带有随机密码的有效用户名
  • 用户被视为密码有效
  • 杀死应用程序并使用Xcode重建
  • 打开应用程序。用户收到403个错误
  • 我在Safari和Chrome的桌面版本中也看到过这种情况


    你知道怎么回事吗?

    结果不是浏览器缓存了标题(这一点一开始就没有多大意义)。Jive发送了一个安全cookie并使用它,完全忽略了
    授权