2012-04-08 5 views
12

Ich möchte OAuth-Autorisierung für meine RESTful-Web-API hinzufügen, die auf ASP.NET-Web-API basiert. Vorzugsweise um das Attribut [Autorisieren] verwenden zu können. Können Sie mir Beispiele für die Erstellung eines eigenen Dienstanbieters oder die Verwendung einer Bibliothek geben?ASP.NET-Web-API: OAuth-Dienstanbieter

+1

Ich bin nicht sicher, warum Sie das jemals tun sollten. OAuth- und OpenID-Protokolle verwenden mehrere Anfragen mit Benutzerinteraktion und Ruhe ist im Grunde eine einzelne Maschine basierte Anfrage/Antwort. Sie können den ASP.NET-Mitgliedschaftsanbieter mit einer Bibliothek wie DotNetopenAuth kombinieren und den ASP.NET-Sitzungsmechanismus für die Authentifizierung verwenden. –

+1

@AndrevanHeerwaarde könnten Sie ein Beispiel für "kombinieren der ASP.NET-Mitgliedschaft Provider mit einer Bibliothek wie DotNetopenAuth" geben? Ich habe nur dieses Beispiel gefunden - [ASP.NET MVC 2 OpenID-Website] (http://visualstudiogallery.msdn.microsoft.com/81153747-70d7-477b-b85a-0374e7edabef). Aber wie ich verstehe, verwendet diese Vorlage WCF-Web-Service als OAuth-Provider und viel unnötigen Code für OpenID (die ich nicht brauche). Ich würde gerne ein Beispiel für die Verwendung von ASP.NET WebAPI mit DotNetopenAuth sehen. – ebashmakov

Antwort

2

FWIW, dies ist für den nächsten Fall geplant (was ein Release-Kandidat sein wird). Also, wenn Sie bis dahin warten können, erhalten Sie diese mit Demos/Samples aus der Box.

http://aspnetwebstack.codeplex.com/wikipage?title=Roadmap

Da der Code Open Source ist, würde ich folgende the codeplex project vorschlagen, um zu sehen, wie sie fortschreitet. Auf diese Weise können Sie das nutzen, was während des Prozesses entsteht, ohne auf den offiziellen RC warten zu müssen.

+0

Es sieht so aus, als wäre der RC raus - weißt du, ob das Teil davon war? Ich sehe es immer noch auf der Roadmap (die nicht aktuell zu sein scheint). – Raelshark

+0

Ich habe die Proben nicht persönlich überprüft, aber sie können aktualisiert werden. Siehe diesen Beitrag für den Kontext: http://aspnetwebstack.codeplex.com/discussions/351122. –