0

Um es einfach auszudrücken, was ist eine ordnungsgemäße Möglichkeit zum Implementieren der Sicherheit für eine ASP.NET-Web-API-Site, die eine Schnittstelle mit einer mobilen App (Android/iOS/WinPhone über Xamarin.Forms) und eine Website (unbekannt in Bezug auf das, was in diesem Moment geschrieben wird)? Die Web-API wird beim Start nur Lese-/SELECT-Methoden verwenden, obwohl es in der Zukunft höchstwahrscheinlich auch einige Schreib-/Einfüge-Methoden geben wird.Hinzufügen von Sicherheit zu .NET Web API

Ich habe OAuth ein wenig auf einem Arbeitsseite-Projekt verwendet; Reicht dies aus, um die Web-API-Site zu sichern? Wenn ja, könnte jemand generell zusammenbrechen und einfach, welche Schritte sollte ich unternehmen, um es umzusetzen?

Übrigens wird die Web-API eine Verbindung zu einer vorhandenen Datenbank herstellen und es sollte kein Problem beim Hinzufügen mehrerer neuer Tabellen für die Sicherheit geben (ich gehe davon aus, dass dies erforderlich sein wird).

Ich denke, das sind alle relevanten Informationen, die ich mir vorstellen kann. Vielen Dank für Ihre Hilfe. Ich bin leider nicht sehr stark in Sachen Sicherheit, da meine Arbeitsprojekte nicht wirklich öffentlich zugänglich waren.

+0

Wenn ich dies heute tun würde, würde ich thinktecture identityserver mit Identität Neustart verwenden. Der ursprüngliche Weg war ein wenig umständlich. Die Tutorials präsentieren die Schritte in einer durchdachten Art und Weise und die Beispielprojekte werden Sie wissen lassen, ob es Ihren Bedürfnissen entspricht. https://identityserver.github.io/Documentation/docsv2/ – Bill

+0

Definitiv Identityserver ist der Weg zu gehen, aber dieser Artikel half http://bitoftech.net/2014/06/01/token-based-authentication-asp-net -web-api-2-owin-asp-net-identity/zum Verständnis der zugrunde liegenden Implementierung. –

Antwort

1

Sie müssen Thinktecture IdentityServer3 betrachten.

Es ist ideal für das, was Sie anstreben.

Sie benötigen grundsätzlich einen Endpunkt, über den alle Clients (Ihre verschiedenen Apps) ein Zugriffstoken anfordern können, um mit Ihrer Web-API zu kommunizieren.

Das Schöne an IdentityServer3 ist, dass Sie jede Client-Anwendung einzeln konfigurieren können, um mit dem Token Server zu kommunizieren.

Ich werde nicht lügen, fand ich es ziemlich die Lernkurve zuerst, aber es war es wert.

Wenn Sie Zugriff auf pluralSight haben, gibt es einen großartigen Kurs, der Sie durch OpenId & Zugriffstokensicherheit führt und mit IdentityServer3 implementiert.

Es gibt auch viele Videos von Brock Allen oder Dominic Baier, die Sie durch die dortige Middleware von IdentityServer3 führen.

+0

Vielen Dank für den Hinweis. Sieht aus wie IdentityServer3 ist der Weg für das, wonach ich suche. Weißt du, ob es einfach ist zu hosten? Der Client, für den ich die Web-API und die mobile App bereitstelle, verfügt über eine von IIS gehostete ASP-Website. meinst du, dass das hosten kann (ich weiß, IIS kann Web-API hosten) IdentSvr3? – clamum

+0

Sehr einfach zu hosten, seine Middleware, können Sie es in IIS in Ordnung hosten. Du musst die Reise beginnen, um dieses Zeug zu lernen, du wirst eine klare Vorstellung davon bekommen, was du tun musst. – Derek

+0

Ausgezeichnet. Danke für deine Antwort Derek. Ich habe angefangen, IS3 zu recherchieren und es sieht so aus, als wäre es großartig. Ich muss erst alles lernen! – clamum

Verwandte Themen