wake-up-neo.com

Echtzeit-Beispiele für Oauth2-Grant-Typen und gutes Dokument, Beispiel für Oauth2 mit Spring MVC

Ich habe vor ein paar Tagen über Oauth2 gelesen, es hat Entitäten wie Client, Resource Owner, Resource Server, Authorization Server und ich habe auch die Erklärungen verstanden. aber ich verstehe nicht, dass der Grant-Typ immer noch völlig unvollständig ist. Oauth2 verfügt über 4 verschiedene Zuschussarten wie

  1. Zugangscode
  2. Implict
  3. Berechtigungsnachweise für Ressourceninhaberkennwort
  4. Client-Anmeldeinformationen

bitte geben Sie mir einige Echtzeitbeispiele für die obigen Typen, um die Implementierung zu differenzieren. Ich muss wissen, was die Arten der Implementierung der Sicherheitsfedern sind, die für die Sicherheit von Frühling oauth2 und den vollen Fluss für den Frühling oauth2 mit Sicherheit sorgen. 

Ich habe ein Beispiel durchlaufen, das mit oauth2 mit spring mvc, spring security, umgesetzt wurde. aber es verwirrt mich, ich bekomme kein klares bild von der api-implementierung.

Ich suche einen guten Oauth2-Fluss und dokumentiere mit Spring MVC und Spring Security. Bitte hilf mir.

10
Pravinkumar

Im Hinblick auf das Verständnis der Flüsse und der Unterschiede zwischen ihnen ist diese Präsentation die beste Ressource, die ich online gefunden habe. Wenn Sie danach die OAuth2-Spezifikationsbeschreibung lesen, ist es viel einfacher zu folgen.

Leider gibt es in Bezug auf Codebeispiele keinen guten Beispielcode für Spring Security OAuth2 (die Sparklr- und Tonr-Beispiele sind in Ordnung, aber nicht sehr klar). Die beste Ressource ist es, die Komponententests im Spring Security OAuth2-Code auf github zu betrachten.

Eine Frage, die ich fragen möchte, ist - möchten Sie einen eigenen OAuth2-Provider erstellen oder möchten Sie einfach eine Verbindung zu Facebook, Google usw. als OAuth2-Client herstellen. Wenn es der zweite Teil ist, würde ich vorschlagen, Spring Security OAuth2 zu überspringen und stattdessen auf Spring Social project zu schauen.

Edit: Um einen OAuth2-Provider zu erstellen, überprüfen Sie diesen Code von Dave Syer (er ist der Leiter des Spring Security OAuth-Projekts). Es zeigt, wie Sie einen OAuth2-Provider und einen Ressourcen-Server in 20 Codezeilen erstellen können. Dies ist der einfachste Weg, um Spring Security OAuth-Code zu erstellen. https://github.com/dsyer/sparklr-boot

Es verwendet Spring Boot- und Spring Security-OAuth-Projekte. Natürlich müssen Sie Spring Security, die Konfiguration von JavaConfig und das OAuth2-Protokoll richtig verstehen, um zu verstehen, wie all dies funktioniert.

12
Jigish

Bei Verwendung von OAuth2 ist der Grant-Typ die Art, wie eine Anwendung das Zugriffstoken erhält . Im Folgenden sind die Zuschussarten gemäß der OAuth2-Spezifikation aufgeführt:

  • Autorisierungscode gewähren
  • Implizite Bewilligung
  • Berechtigungsnachweise für Ressourceninhaber
  • Client-Berechtigungsnachweis

Einige gute Beispiele mit Erklärung und Quellcode gefunden
Spring + OAuth2 Authorization Grant
Spring + OAuth 2 Client-Berechtigungsnachweis
Frühling + OAuth 2 Passwortgewährung

2
Gordan

Der Autorisierungscode basiert auf Weiterleitungen. In den meisten Anwendungen verwenden wir diesen Grant-Typ, wenn wir uns über Facebook oder Google anmelden.

Implizit wird meist in mobilen oder einseitigen Anwendungen verwendet. Die Vertraulichkeit des Kunden wird hier nicht garantiert. Dies hat auch einen Weiterleitungsfluss ähnlich dem Autorisierungscode. Dies unterstützt kein Aktualisierungstoken.

Der Kennwortgewährungstyp wird verwendet, wenn die Clientanwendung und der Ressourcenbesitzer derselben Anwendung angehören. Dies wird der Fall sein, wenn Ihre Anwendung nicht mehr funktioniert. Hier teilen wir Benutzername und Passwort. Im Gegensatz zu den beiden oben genannten, bei denen wir uns über Facebook oder Google authentifizieren.

Client-Anmeldeinformationen: Dies ist eine Möglichkeit, auf den eigenen Dienst zuzugreifen. wie ein Microservice, um auf einen anderen Microservice zuzugreifen.

1

Ich bin letzten Monat auch mit dem Frühling in OAuth2 eingestiegen.

Ich habe die meisten der OAuth2 spec gelesen und die Samples aus der Frühlingssicherheit source verwendet, die wunderbar sind. Auf diese Weise bekam ich eine laufende Anwendung, mit der ich neben den Spezifikationen die Quellen sehen konnte.

0
Jonas Geiregat