diff --git a/apple/RNCWebView.m b/apple/RNCWebView.m index 91a96e6..2dca837 100644 --- a/apple/RNCWebView.m +++ b/apple/RNCWebView.m @@ -543,6 +543,16 @@ static NSDictionary* customCertificatesForHost; } [_webView loadHTMLString:html baseURL:baseURL]; return; + } + //Add cookie for subsequent resource requests sent by page itself, if cookie was set in headers on WebView + NSString *headerCookie = [RCTConvert NSString:_source[@"headers"][@"cookie"]]; + if(headerCookie) { + NSDictionary *headers = [NSDictionary dictionaryWithObjectsAndKeys:headerCookie,@"Set-Cookie",nil]; + NSURL *urlString = [NSURL URLWithString:_source[@"uri"]]; + NSArray *httpCookies = [NSHTTPCookie cookiesWithResponseHeaderFields:headers forURL:urlString]; + for (NSHTTPCookie *httpCookie in httpCookies) { + [_webView.configuration.websiteDataStore.httpCookieStore setCookie:httpCookie completionHandler:nil]; + } } NSURLRequest *request = [self requestForSource:_source];