2017-03-14 3 views
-1

Autorisierungscode-Ablauf - Benutzer meldet sich von der Client-App an, der Autorisierungsserver gibt einen Autorisierungscode an die App zurück. Die App tauscht dann den Autorisierungscode für das Zugriffstoken aus.So möchte ich wissen, welchen Inhalt der Autorisierungsserver als Autorisierungscode sendet? Ich meine, welchen Code oder welche Signatur enthält ein Autorisierungscode?Was enthält ein Autorisierungscode?

+0

Ich glaube, Sie für diese suchen: [Passwort Credentials Ressourcen Owner] (https: //tools.ietf .org/html/rfc6749 # section-1.3.3) –

+0

Das ist nicht meine Frage ... Zum Beispiel, wenn Sie ein JWT-Token nehmen, besteht es im Allgemeinen aus drei Teilen: einem Header, einer Nutzlast und einer Signatur. Genauso wie der Autorisierungscode: Ich möchte, in welchem ​​Format besteht ein Autorisierungscode? –

Antwort

0

Der Autorisierungscode in oAuth ist im RFC für oAuth in Abschnitt 1.3.1 namens Autorisierungscode erläutert. Siehe:

Der Autorisierungscode unter Verwendung eines Autorisierungsserver als einen Vermittler zwischen dem Client und Ressourceneigentümer erhalten wird. Anstatt Autorisierung direkt von der Ressource Besitzer anfordern, leitet der Client den Ressourcenbesitzer zu einem Autorisierungsserver (über seine Benutzer-Agent wie in [RFC2616] definiert), die wiederum den Ressourcenbesitzer zurück zum Client mit der Autorisierungscode

Bevor der Ressourcenbesitzer mit dem Autorisierungscode an den Client zurückgeleitet wird, authentifiziert der Autorisierungsserver den Ressourcenbesitzer und erhält die Autorisierung. Da der Ressourcenbesitzer nur mit dem Autorisierungsserver authentifiziert wird, werden die Anmeldeinformationen des Ressourceneigentümers nie mit dem Client geteilt.

Der Autorisierungscode bietet einige wichtige Sicherheitsvorteile, wie die Fähigkeit, Token direkt den Client, sowie die Übertragung des Zugangs zu authentifizieren an den Client ohne es durch den Benutzer-Agenten vorbei Ressourceneigentümer und möglicherweise ausgesetzt es anderen, einschließlich der Ressource Besitzer.

Weitere Informationen finden Sie in Blockdiagrammen in Abschnitt 4.1 Berechtigungscode gewähren und in Abschnitt 10.5 Autorisierungscodes. Siehe:

Einige relevante Zitate aus der Dokumentation verwiesen oben:

Die Übertragung von Berechtigungscodes sollten über einen sicheren Kanal gemacht werden, und die Client SOLLTE die Verwendung von TLS mit seiner Umleitungs-URI erfordern, wenn der URI ein Netzwerk re identifiziert Quelle. Da Autorisierungscodes über User-Agent-Umleitungen übertragen werden, können sie möglicherweise über den User-Agent-Verlauf und die HTTP-Referenzverweis-Header HTTP offen gelegt werden.

Autorisierungscodes arbeiten als Plain-Text Inhaberanmeldeinformationen verwendet, um überprüfen, ob die Ressourceneigentümer, die Zulassung auf Autorisierungsserver gewährt ist die gleiche Ressource Eigentümer an den Client zurückgegeben wird um den Vorgang abzuschließen.Wenn der Client den Autorisierungscode für die Authentifizierung des eigenen Ressourceneigentümers verwendet, MUSS daher der Clientumleitungsendpunkt die Verwendung von TLS erfordern.

Autorisierungscodes MÜSSEN kurzlebig sein und einzeln verwendet werden. Wenn die Autorisierungsserver mehrere Versuche beobachtet eine Autorisierungscode für ein Zugriffstoken auszutauschen, versucht der Autorisierungsserver sollten alle Zugriffstoken bereits basierend auf die kompromittierten Autorisierungscode gewährt zu widerrufen. Wenn der Client authentifiziert werden kann, MÜSSEN die Autorisierungsserver den Client authentifizieren und sicherstellen, dass der Autorisierungscode für denselben Client ausgestellt wurde.

Sehen Sie den Rest von RFC 6749 für weitere Informationen:

Verwandte Themen