8

Mamy problem z pobieraniem plików z serwera w tle. Pole nagłówka HTTP "Authorization" jest tracone podczas przekierowywania żądania na inny serwer.NSURLRequest utracił nagłówek HTTP "Autoryzacja" podczas przekierowania żądania.

Przeprowadziliśmy kilka eksperymentów i zauważyliśmy, że inne pola (nawet takie same, ale z podkreślonym symbolem na końcu "Authorization_") działają doskonale w przekierowaniu. Wygląda na to, że to pole jest wymazywane zgodnie z niektórymi względami bezpieczeństwa, np. Jeśli różne serwery używają innych danych uwierzytelniających.

Jest możliwe dołączenie „Authorization” pole ręcznie w trybie planie pomocą

URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler: 

metody. Wystąpił problem podczas próby przekierowania w tle. Ponieważ zgodnie z dokumentacją "Zadania w sesjach w tle automatycznie następują przekierowania."

Nie mogę znaleźć nic na temat pomijania tego pola w RFC 2616, ale przypuśćmy, że prawdopodobnie istnieje nieudokumentowane rozwiązanie, aby zapisać pole "Autoryzacja" podczas przekierowania w tle. .

Pozwól mi przyjąć, że nasz serwer front-end może zapewnić pewne specjalne pole w odpowiedzi przekierowania, które twierdzą, że przekierowanie serwera jest zaufany i możemy użyć „zezwolenie” pole bez jakichkolwiek modyfikacji.

to jest po prostu Pomysł i prawdopodobnie musimy go użyć jakoś inaczej. Czy mógłbyś skierować nas proszę?

Odpowiedz

3

Nagłówek "autoryzacja" to jeden z nagłówków "specjalnych", których nie zaleca się modyfikować. Jest to z dokumentacji firmy Apple (LINK):

Klasa NSURLConnection i zajęcia NSURLSession są przeznaczone do obsługi różnych aspektów> z protokołu HTTP dla Ciebie. W rezultacie, nie należy modyfikować następujące nagłówki:

  • Autoryzacja
  • Connection
  • Host
  • WWW-Authenticate
+0

Dziękuję, Rafał. Miałem rozmowę z inżynierem Apple w WWDC Lab na temat tego pytania i zgodził się, że może to być dobre rozwiązanie do używania niestandardowego pola, takiego jak "Authorization_" (z podkreśleniem). Wygląda jak hack, ale działa w tle zgodnie z oczekiwaniami – gN0Me