Файлы cookie, установленные в ответе о перенаправлении, не сохраняются - PullRequest
0 голосов
/ 12 января 2019

Похоже, что эта проблема связана только с iOS: после обновления React Native с 0,55 до 0,57. Добавление учетных данных: «include» помогает, но этот флаг не помогает, если вы снова открываете приложение. Файл cookie будет удален после перезапуска приложения.

Ниже ссылки фактически предлагает PR-релиз вокруг этого, но даже это не устраняет ошибку. https://github.com/facebook/react-native/commit/a6860487947ae0957f5dfa4979e92bc7740fecb0

Это дополнение к файлу react-native/Libraries/Network/RCTHTTPRequestHandler.mm

- (void)URLSession:(NSURLSession *)session
              task:(NSURLSessionTask *)task
willPerformHTTPRedirection:(NSHTTPURLResponse *)response
        newRequest:(NSURLRequest *)request
 completionHandler:(void (^)(NSURLRequest *))completionHandler
{
  // Add the cookies to the new request
  // This is necessary because we're not letting iOS handle cookies by itself
  NSMutableURLRequest *nextRequest = [request mutableCopy];

  NSArray<NSHTTPCookie *> *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:request.URL];
  nextRequest.allHTTPHeaderFields = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];
  completionHandler(nextRequest);
}
...