Web-API Geben Sie OAuth-Token als XML zurück

8

Wenn Sie die standardmäßige Visual Studio 2013-Web-API-Projektvorlage mit einzelnen Benutzerkonten verwenden und mit einem Accept-Header von application / xml auf dem / token-Endpunkt veröffentlichen, gibt der Server die Antwort in JSON:

zurück %Vor%

Gibt es eine Möglichkeit, das Token als XML zurück zu bekommen?

    
CalebG 29.04.2014, 21:40
quelle

5 Antworten

5

Laut RFC6749 sollte das Antwortformat JSON lauten, und Microsoft hat es entsprechend implementiert. Ich fand heraus, dass die JSON-Formatierung in der internen Klasse Microsoft.Owin.Security.OAuth.OAuthAuthorizationServerHandler implementiert ist, ohne Erweiterungsmöglichkeiten.

Ich bin auch auf die Notwendigkeit einer Token-Antwort in XML gestoßen. Die beste Lösung, die ich entwickelt habe, war die Implementierung von HttpModule, das JSON in XML konvertiert, wenn es in Accept header steht.

%Vor%     
Alexei Matrosov 13.03.2015 14:59
quelle
3

Ok, ich hatte so viel Spaß dabei herauszufinden, ob ich OWIN verwenden könnte. Ich dachte, ich würde meine Lösung mit der Community teilen. Ich habe mir einige Einblicke aus anderen Posts geliehen Ссылка und Ссылка zusammen mit den Konzepten, die Alexei in seinem Beitrag beschreibt. Nichts Besonderes mit der Implementierung zu tun, aber ich hatte eine Anforderung für meine STS, eine XML-formatierte Antwort zurückzugeben, ich wollte mit dem Paradigma der Ehrung der Accept-Header bleiben, so würde mein Endpunkt untersuchen, um festzustellen, ob es den XML-Swap ausführen musste oder nicht. Dies verwende ich derzeit:

%Vor%

Natürlich würden Sie dies dann während der Startkonfiguration wie folgt verkabeln:

%Vor%

Hoffen wir, dass es anderen verlorenen Seelen hilft, die dort den Weg zu diesem Post finden, der versucht, so etwas zu tun!

    
Lazy Coder 04.04.2016 22:47
quelle
0

Könnten Sie es erneut versuchen, indem Sie die folgenden Schritte ausführen:

Geben Sie in WebApiConfig.Register()

an %Vor%     
Toan Nguyen 30.04.2014 00:32
quelle
-1

Normalerweise entferne ich den XmlFormatter ganz einfach.

%Vor%

Fügen Sie die obige Zeile in Ihre WebApiConfig-Klasse ...

ein %Vor%     
Karthik Murugesan 20.09.2014 04:04
quelle