2012-09-19 3 views
58

Ich habe eine WebAPI, die ohne Problem funktioniert. Ich habe lokal getestet und auf meinem Server bereitgestellt und diesen Dienst in IIS für die Verwendung der Standardauthentifizierung konfiguriert. Ich bin in der Lage, zu meinem Dienst zu navigieren und ich erhalte die Authentifizierungsherausforderung, die ich erwarte, und alles funktioniert schwimmend! Jetzt möchte ich Fiddler verwenden, um dies zu testen, und ich habe einen POST zu einer bestimmten URL erstellt und ich habe einen 401 (Unauthorized) Fehler. Also habe ich beschlossen, eine Base64-Zeichenfolge in meinem Anfrage-Header hinzuzufügen, und ich bekomme jetzt einen Fehler von 500.Verwenden Sie Fiddler mit Basisauthentifizierung für den Zugriff auf RESTful WebAPI

Was ich gerne wissen würde, ist, meine Anfrage Header richtig aussehen? Ich werde offensichtlich meine Host- und Base64-Zeichenfolge verschleiern, die das Format Benutzername: Kennwort für die Authentifizierungsherausforderung enthält.

User-Agent: Fiddler 
Host: xxx.xxx.xxx.xxx:xxxx 
Content-Length: 185 
Content-Type: text/json 
Authorization: Basic jskadjfhlksadjhdflkjhiu9813ryiu34 
+0

Dies ist, wo ich das Format für Basic-Authentifizierung base64-Format gefunden: http://en.wikipedia.org/wiki/Basic_access_authentication – brianhevans

+0

Hier habe ich einen Base64-Encoder gefunden: http://www.motobit.com/util /base64-decoder-encoder.asp – brianhevans

+2

Ich habe die Autorisierung in der Liste nach oben unter den Host verschoben und es funktioniert. Ich folgte dem Format, das im Wiki vorgeschlagen wurde und ich denke, wir haben alles funktioniert. :-) – brianhevans

Antwort

127

Fiddler hat ein Tool, das die Base64 für Sie erledigt. Erstellen Sie einfach Ihre Zeichenfolge: Benutzername: Passwort und gehen Sie dann zu Extras -> TextWizard und geben Sie den Benutzernamen Passwort Combo und wählen Sie ToBase64. Kopieren Sie es und fügen Sie es in Ihren Authorization-Header ein und Sie sollten gut sein.

+0

Danke, ich werde das für das nächste Mal versuchen! – brianhevans

+0

Aber wie kann ich diese codierte Zeichenfolge zusammen mit meinen JSON-Daten senden, während JSON-Struktur für das Senden der Daten anders ist. –

15

AlexGad hat Recht. Sobald die ToBase64 Codierung erzeugt wird, unter dem Header, während die Anfrage zu komponieren, fügen Sie die folgende Zeile:

Authorization: Basic [encoded_value]

nun die Anfrage ausführen, sollte es funktionieren! :)

5

Ich weiß, das ist ein älterer Beitrag, aber als ich zuerst sah, wie dies zu tun, stieß ich auf diesen Beitrag und wusste, es war die Antwort, aber ich wusste immer noch nicht Dinge wie mussten die Anmeldeinformationen sein Koma getrennt etc. Also, nur für den Fall, dass jemand hier draußen helfen könnte, sind meine Notizen für Fiddler, die ich für einen JSON POST zusammengestellt habe.

First you need to Base64 encode your "username:password" 
    • Go to Tools | Text Wizard | To Base64 in dropdown 

Post a message in the Composer tab 
    • Change the type to POST in the dropdown. 
    • Put in the URL 
    • Add the following to the top header section. 
     ○ Authorization: Basic ReplaceWithYourEncodedCredtials= 
     ○ Content-Type: application/json; charset=utf-8 
    • Add some JSON content to the body 
     ○ [{"Address1":null,"Address2":null,"BirthDate":"1967-10-06T00:00:00","City":null,"CompanyHireDate":"2011-06-03T00:00:00","EmailAddress":"[email protected]","EmployeeNumber":"112233","FirstName":"JOHN","LastName":"DOE","PhoneNumber":null,"State":null,"UserName":"JDoe","ZipCode":null}] 
2

Neuere Versionen von Fiddler (I in v4.6.20172.31233 getestet) werden die notwendigen Authorization Header erstellen und fügen Sie automatisch, wenn Sie den Benutzernamen und das Passwort im Composer-URL-Feld wie so angeben:

https://SomeUser:[email protected] 

Bei der Ausführung dieser Streifen es aus der URL und verwandelt sich in einen HTTP-Header wie:

Authorization: Basic U29tZVVzZXI6U29tZVBhc3M= 
0

Ich fand, dass ich in Fiddler 4 nur die Option Automatisch authentifizieren im Menü Regeln überprüfen musste.

Verwandte Themen