0

Gibt es eine Out-of-the-Box-Erweiterung für die Ws-Federation-Authentifizierung in OWIN-Middleware-Bibliotheken, um Web-APIs mit einem Authentifizierungsheader anstelle von Cookies zu behandeln?Authentifizierung in WebAPI mit OAuth-Bearer-Aufrufstil in WS-Federation?

// OAuth bearer calling style 
var headers = {}; 
headers.Authorization = 'Bearer ' + token; 

$.ajax({ 
    type: 'GET', 
    url: 'api/values/1', 
    headers: headers 

Ich weiß, wie ein custom handler zu schreiben, um das Token zu extrahieren und validieren, sondern kann ich das vermeiden?

Antwort

0

können Sie die Visual Studio-Vorlage verwenden, die als OWIN Middleware implementiert mit OAuth 2.0-Server kommt:

Neues Projekt -> Web -> ASP.NET-Anwendung -> OK -> Web-API-Vorlage, mit einzelnen Benutzerkonten Authentifizierung

Revise die Startup.Auth.cs Datei in App_Startup Ordner für auth-Konfiguration.

+0

Ich habe einen STS mit WS-Fed, so kann ich nicht OAuth2 Protokoll – Homam

0

Ich habe Aut0 als Authentifizierungsanbieter für eines meiner Projekte verwendet.

Ich habe folgende für meine Web-API-Projekt. Für Authorization-Header und Token-Handling, habe ich folgende Nuget Pakete:

Install-Package WebApi.JsonWebToken 
Install-Package Auth0-ASPNET 

Es fügt JsonWebToken.cs und JsonWebTokenValidationHandler.cs in App_Start Ordner.

Öffnungs WebApiConfig.cs hinzufügen Aussagen mit

using projectName.App_Start; 
using System.Web.Configuration; 

und fügen Methode folgenden Code-Schnipsel unter Registern.

var clientID = WebConfigurationManager.AppSettings["ClientId"]; 
var clientSecret = WebConfigurationManager.AppSettings["ClientSecret"]; 

config.MessageHandlers.Add(new JsonWebTokenValidationHandler() 
{ 
    Audience = clientID, 
    SymmetricKey = clientSecret 
}); 

alles entfernen zu Auth0 bezogen und dort haben Sie einen schönen Handler die JWT-Token zum Extrahieren und auch den Code für die Validierung.

Referenz: https://manage.auth0.com/

+0

Ich habe einen STS mit WS-Fed verwenden, so kann ich nicht OAuth2-Protokoll verwenden – Homam