From 1f089baa40a04f9e71ee598c6248da7fc47aef6d Mon Sep 17 00:00:00 2001 From: nikitawani07 Date: Wed, 10 Mar 2021 14:41:09 +0530 Subject: [PATCH] fix(iOS): Send cookies with resource requests (#1803) * iOS cookie available for resource requests * Missig brace added Co-authored-by: niwani --- apple/RNCWebView.m | 10 ++++++++++ 1 file changed, 10 insertions(+) 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];