NSURLRequest hat beim Weiterleiten der Anforderung den HTTP-Header "Authorization" verloren

8

Wir haben ein Problem beim Herunterladen von Dateien vom Server im Hintergrundmodus. Das Feld "Autorisierung" des HTTP-Headers geht verloren, während die Anfrage an einen anderen Server weitergeleitet wird.

Wir haben einige Experimente gemacht und festgestellt, dass andere Felder (sogar die gleichen, aber mit Unterstreichungszeichen am Ende "Authorization_") perfekt in Redirect funktionieren. Dieses Feld wird aus Sicherheitsgründen gelöscht, wenn verschiedene Server unterschiedliche Authentifizierungsdaten verwenden.

Es ist möglich, das Feld "Authorization" manuell im Vordergrundmodus mit

anzuhängen %Vor%

Methode. Es gab ein Problem, als wir versuchten, die Redirect-Anfrage im Hintergrundmodus zu verwenden. Weil laut der Dokumentation "Aufgaben in Hintergrundsitzungen automatisch Redirects folgen.".

Ich kann nichts über das Überspringen dieses Feldes in RFC 2616 finden, aber angenommen, dass es wahrscheinlich undokumentierte Dokumente gibt Lösung, um das Feld "Authorization" während der Umleitung im Hintergrundmodus zu speichern.

Nehmen wir an, unser Front-End-Server könnte ein spezielles Feld in der Umleitungsantwort bereitstellen, das besagt, dass der umgeleitete Server vertrauenswürdig ist und wir das Feld "Authorization" ohne irgendwelche Modifikationen verwenden können.

Das ist nur eine Idee und wahrscheinlich müssen wir sie irgendwie anders benutzen. Könnten Sie uns bitte anweisen?

    
gN0Me 30.04.2014, 12:28
quelle

1 Antwort

3

‚Authorization‘ Header ist ein von dem ‚speziellen‘ Header, die empfohlen werden, nicht geändert werden. Dies ist von der Apple-Dokumentation ( LINK ):

  

Die NSURLConnection Klasse und NSURLSession Klassen sind entworfen, um verschiedene Aspekte & gt zu behandeln; das HTTP-Protokolls für Sie. Als Ergebnis sollten Sie die folgenden Header nicht ändern:

     
  • Autorisierung
  •   
  • Verbindung
  •   
  • Gastgeber
  •   
  • WWW-Authentifizierung
  •   
    
Rafał Augustyniak 22.05.2014, 18:11
quelle