应用程序和Web浏览器的通用会话

时间:2013-11-11 12:30:02

标签: iphone wordpress web-services session session-variables

我对应用程序和Web浏览器之间的会话维护有疑问。

我正在开发一个iPhone应用程序,这个应用程序也有一个网站(在wordpress中)。

我的问题是,如果他/她从同一个移动设备登录应用程序,是否可以在移动设备的网络浏览器中显示用户登录?

简而言之,我想知道这个会话存储在哪里?在应用程序或设备中?如果它在设备中,那么如何为Web浏览器检查相同内容?

1 个答案:

答案 0 :(得分:4)

每个应用都会存储Cookie,不是每台设备。 Safari有自己的沙箱,而每个原生应用程序都在自己的沙箱中运行,否则Safari的安全模型会受到影响。

  

在OS X中,cookie存储在所有应用程序之间共享; 在iOS中,Cookie存储是按应用
参考:About the URL Loading System

因此,对于您的方案,这就是您应该如何使其工作(我还没有尝试过):

  1. 在您的移动应用中,在Safari中打开网站。发送HTTP标头告诉Web服务器此命中是从您的本机应用程序进入的
  2. 如果您已通过Safari登录,那么您的服务器将识别该用户。对服务器进行编码以发回重定向响应(仅在请求来自本机应用程序时)。此重定向响应将包含会话cookie / auth_token。此外,重定向位置将使用iOS自定义网址方案,例如myapp://mydashboard
  3. 在您的原生应用中,register the app as the handler of that custom url以便它可以正确捕捉和处理重定向
  4. 在本机应用程序的后续请求中,发送会话cookie / auth_token
  5. 希望它有所帮助。