2012-09-28 8 views
10

Ich bin wirklich nicht in WCF-Proben interessiert. Die DotNetOpenAuth-Implementierungen, die ich fand, sind auch incomplete oder . Ich habe gefunden Thinkitecture.IdentityServer.45, die alles andere als leicht ist und nicht wirklich geeignet für den Aufbau in meinem neuen WebAPI-Projekt. Ich habe sogar das Oauth2DotNet Projekt gefunden, das fast keine echten Informationen hat.Aber ernsthaft .... Beispiel für ASP.NET WebAPI-Implementierung einschließlich OAuth

Microsoft hat few Oauth/OpenID ähnliche Projekte veröffentlicht, aber ich kann nicht einmal richtige Dokumentation für diese entweder finden.

Mein Projekt: Erstellen Sie eine neue Website, um "REST-style" API-Dienste für autorisierte mobile Anwendungen bereitzustellen, die .NET 4.5 und ASP.NET WebAPI verwenden. Da diese Anwendungen nicht notwendigerweise im Namen eines Benutzers agieren müssen, glauben wir, dass "2-legged" Oauth akzeptabel sein wird, da wir die Möglichkeit haben möchten, den Zugriff auf unsere API zu beenden und zu sperren, wenn eine bestimmte Anwendung aussteigt Hand.

Aus all diesen Gründen habe ich eine Woche damit verbracht, eine grundlegende Implementierung zum Laufen zu bringen, aber ich war nicht einmal in der Lage, die verschiedenen Tokentypen und die Token selbst zu identifizieren. Das sollte wirklich nicht so schwierig sein und ich finde den Mangel an grundlegenden Informationen zu den betreffenden Themen ziemlich frustrierend. Ja, die Spezifikationen sind veröffentlicht, aber nirgendwo sind sie destilliert und bereit für die Implementierung.

Ich möchte die ideale Lösung zu erweitern, um ordnungsgemäß mit dem WepAPI Authenticate-Attribut, wahrscheinlich als ActionFilter/AuthorizationFilter zu integrieren, so dass ich identifizieren und authentifizieren die Remote-Anwendung vor dem Versuch, den Zugriff auf eine oder mehrere meiner eleganten REST zu autorisieren -reiche API-Methoden.

Wo ist der "Einstieg"?

+0

Ist diese Hilfe http://bitoftech.net/2014/07/16/enable-oauth-refresh-token-angularjs-app-using-asp-netz-web-api-2-owin/ – Bilal

Antwort

8

Grundsätzlich HMAC authentication genug ist, um Ihr Problem zu lösen, Besuche in hier:

How to secure an ASP.NET Web API

Und:

Web API creating API keys

+0

Perfekt! Vielen Dank! –

+2

Es war die perfekte Antwort zu der Zeit, aber ich konnte immer noch nicht auf meiner WebAPI oauth implementieren. Ich möchte diese Frage für bessere Antworten wieder öffnen. Ich weiß, dass HMAC-Authentifizierung gut genug sein kann, aber diese Antwort enthält keine echte Lösung, nur eine Forschungslinie. –