none
Frage zu Authentifizierung bei ASP.NET Web API RRS feed

  • Frage

  • Hallo zusammen, 

    ich habe ein ASP.NET Web API Projekt, welches später in MS Azure hochgeladen wird.

    Die Web API bietet kein UI, sondern lediglich 3 HTTP-Get-Methoden, die Daten in JSON-Format zurück an den Aufrufer schicken.

    Mehrere Clientprogramme holen sich dann 2-3 mal am Tag diese Daten, um sie anzuzeigen.

    Jetzt möchte ich gerne den Zugriff auf die Web-API einschränken, sodass nur unsere Clients darauf Zugriff haben.

    Ich habe mich schon über Authentifizierungen informiert, bin aber überfragt, welche Authentifizierungsmöglichkeiten für mein Anwendungsfall ideal bwz. ausreichend wären.

    Kann mir da einer ein oder zwei Tipps geben, was ich hier am Besten verwenden sollte ?

    Vielen Dank im Voraus.

    Grüße Felix.

    Dienstag, 4. Juli 2017 12:24

Antworten

  • Man könnte in deinem Fall einfach eine "geheimen Schlüssel" (Token) vom Client zum Server schicken. Z.B. ein string oder ein Guid. Du musst ja nicht wissen welcher User angemeldet ist da alle die selben Daten bekommen. Das meine ich damit. Wirklich sicher ist das natürlich nicht aber manchmal ausreichend.

    Soweit mit bekannt basieren alle neune Authentifizierungsverfahren unter Asp.Net auf oAuth. Bei oAuth bekommst Du halt für jeden User einen eigenen Token. Dieser wird jedesmal mit an den Server geschickt, damit Asp.Net weiß um welchen User es sich handelt. Zudem hat dieser Token eine begrenzte Lebenszeit und müsste immer wieder erneuert werden (Login)

    Ich denke das wird auch mit WinForms gehen.



    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP


    Dienstag, 4. Juli 2017 15:05

Alle Antworten

  • Hallo Felix,

    Azure Mobile App könnte sich gut dafür eignen.

    Auch wenn für deinem Fall eine simple Authentifizierung reichen würde, würde ich dir dennoch empfehlen auf oAuth zu setzten. oAuth ist heute Standard.

    Hier mal die Doku dazu. In WPF kann man den Service natürlich auch nutzen Link


    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    Dienstag, 4. Juli 2017 13:40
  • Hallo Thomas,

    vielen Dank für deine Antwort.

    Was meinst du mit "simple Authentifizierung" ? Die Basic Authentifizierung oder die ASP.NET Identity ?

    Das mit der Mobile App muss ich mir mal genauer ansehen. Funktioniert das auch mit WinForms ?

    vielen Dank

    Gruß Felix

    Dienstag, 4. Juli 2017 14:38
  • Man könnte in deinem Fall einfach eine "geheimen Schlüssel" (Token) vom Client zum Server schicken. Z.B. ein string oder ein Guid. Du musst ja nicht wissen welcher User angemeldet ist da alle die selben Daten bekommen. Das meine ich damit. Wirklich sicher ist das natürlich nicht aber manchmal ausreichend.

    Soweit mit bekannt basieren alle neune Authentifizierungsverfahren unter Asp.Net auf oAuth. Bei oAuth bekommst Du halt für jeden User einen eigenen Token. Dieser wird jedesmal mit an den Server geschickt, damit Asp.Net weiß um welchen User es sich handelt. Zudem hat dieser Token eine begrenzte Lebenszeit und müsste immer wieder erneuert werden (Login)

    Ich denke das wird auch mit WinForms gehen.



    Gruß, Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP


    Dienstag, 4. Juli 2017 15:05