wake-up-neo.com

Get request Origin in einem C # -API-Controller

Gibt es eine Möglichkeit, wie ich den Ursprungswert der Anforderung im API-Controller abrufen kann, wenn ich einen API-Endpunkt mit Ajax-Aufruf aufrufe?

Zum Beispiel rufe ich über www.xyz.com an:

$http({
    url: 'http://myazurewebsite.azurewebsites.net/api/ValueCall/CheckForExistingValuers',
    method: "GET",
    params: { loanID: $scope.loanIdPopup }
}).success(function (data) {

}).error(function (data) {

});

Wie kann ich auf der API-Seite den Wert von www.xyz.com ermitteln?

CORS funktioniert ordnungsgemäß.

12
Laziale

Was Sie suchen, ist wahrscheinlich der Origin-Header. Alle modernen Browser senden es mit, wenn Sie domänenübergreifende Anfragen stellen.

In einem ApiController holen Sie es so:

if (Request.Headers.Contains("Origin"))
{
    var values = Request.Headers.GetValues("Origin");
    // Do stuff with the values... probably .FirstOrDefault()
}
14
smoksnes

Sie können es über die aktuelle Sammlung von HTTP-Anforderungsheadern aus den API-Methoden abrufen:

  IEnumerable<string> originValues;
  Request.Headers.TryGetValue("Origin", out originValues)
6
ivamax9