未为后续请求设置iOS UIwebview Cookie

未为后续请求设置iOS UIwebview Cookie,ios,cordova,cookies,uiwebview,nsmutableurlrequest,Ios,Cordova,Cookies,Uiwebview,Nsmutableurlrequest,我们在混合移动应用程序中使用了一个改进的inAppbrowser cordova插件。在UIWebview中加载第一个请求时,我设置了两个cookie。这是我的密码 NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url]; [request setValue:[NSString stringWithFormat:@"TOKEN_1=%@; TOKEN_2=%@;", @"VALUE_1", @"VALUE

我们在混合移动应用程序中使用了一个改进的inAppbrowser cordova插件。在UIWebview中加载第一个请求时,我设置了两个cookie。这是我的密码

 NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];

[request setValue:[NSString stringWithFormat:@"TOKEN_1=%@; TOKEN_2=%@;", @"VALUE_1", @"VALUE_2"] forHTTPHeaderField:@"Cookie"];

[self.webView loadRequest:request];
我们正在使用上述令牌cookies将SSO扩展到其他应用程序中。它工作得很好

一旦我启动了上述请求,它就会经历多个url重定向。在每个请求中,服务器尝试在响应中设置一些额外的cookie。以下是对上述请求的答复

Location: /my.policy
Set-Cookie: Session_1=5f1dddd; domain=bhh.com;path=/;secure
Set-Cookie: session_2=0813d65bcbbf631a4f3d482f5f19560d; domain=bhh.com;path=/;secure
根据服务器的上述响应,下一个请求应使用上述cookie(会话_1、会话_2)转到/my.policy。当我查看charles代理时,下一个请求也只包含我在开始时设置的令牌(令牌1,令牌2)。服务器发送的Cookie未设置为下一个请求。我在shouldStartLoadWithRequest委托方法中保存了一些日志,以便从sharedHTTPCookieStorage读取cookies。我可以看到cookiestorage中存在服务器cookie,但它们不会随请求一起传递

如果我删除了第一个请求的cookie设置(删除了令牌_1和令牌_2),那么将为后续请求发送服务器cookie

我尝试了以下方法来解决我的问题,但没有一种有效

试图通过读取cookie存储,在shouldStartLoadWithRequest委托方法中将cookie设置为请求

尝试设置cookie策略

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

有什么想法吗?

你解决了这个问题吗?没有。。它还在我的待办事项中等待:)你解决了这个问题吗?没有。。它仍在我的待办事项中等待:)