Autorisierungscode-Ablauf

Der Autorisierungscode-Ablauf ist ein Sicherheitsprotokoll, das in OAuth 2.0 verwendet wird, um Anwendungen von Drittanbietern den Zugriff auf die Ressourcen eines Nutzers zu ermöglichen, ohne dessen Anmeldedaten preiszugeben.

Bei diesem Ablauf leitet die Client-Anwendung den Nutzer an den Autorisierungsserver weiter, wo er sich anmeldet und die Zugriffsanforderung des Clients genehmigt. Nach der Genehmigung sendet der Autorisierungsserver einen Autorisierungscode an den Client, den er gegen ein Zugriffstoken und optional ein Refresh-Token eintauscht. Dieses Zugriffstoken wird dann verwendet, um im Namen des Nutzers autorisierte Anforderungen an den Ressourcenserver zu stellen.

Nutzer stoßen in der Regel auf den Autorisierungscode-Ablauf, wenn sie aufgefordert werden, sich bei einer Anwendung oder einem Dienst eines Drittanbieters anzumelden und dabei ihre Anmeldedaten von einer anderen Plattform zu verwenden, z. B. bei der Anmeldung auf einer Website mit ihrem Google- oder Facebook-Konto. Dieser Ablauf wird häufig in Szenarien verwendet, in denen ein Nutzer einer Drittanwendung Zugriff auf seine Ressourcen (wie Daten oder Dienste) gewähren möchte, ohne seine Anmeldedaten direkt weiterzugeben.

Der Hauptunterschied zwischen dem Autorisierungscode-Ablauf und dem Autorisierungscode-Ablauf mit PKCE (Proof Key for Code Exchange) liegt in den Sicherheitsmechanismen, die verwendet werden, um bestimmte Angriffe zu verhindern, insbesondere gegen mobile und native Anwendungen.

Im Standard-Autorisierungscode-Ablauf erhält der Client einen Autorisierungscode, nachdem sich der Nutzer beim Autorisierungsserver authentifiziert hat. Der Client tauscht diesen Code dann gegen ein Zugriffstoken aus. Dieser Ablauf ist jedoch anfällig für Angriffe auf den Autorisierungscode, bei denen ein Angreifer den Autorisierungscode abfangen und verwenden kann, um ein Zugriffstoken zu erhalten.

Der Autorisierungscode-Ablauf mit PKCE fügt eine zusätzliche Sicherheitsebene hinzu, indem ein dynamisch generiertes Geheimnis, der Code Verifier, zur Authentifizierung der Autorisierungsanfrage verwendet wird. Dies erhöht die Sicherheit, insbesondere in Umgebungen, in denen es schwierig ist, geheime Clientschlüssel sicher zu speichern, wie z. B. bei mobilen oder nativen Anwendungen.

So erstellen Sie einen Grant-Typ mit dem Autorisierungscode-Ablauf:

Prozedur

  1. Führen Sie die Schritte 1–6 aus dem Abschnitt „OAuth-Verbindung erstellen“ aus.
  2. Wählen Sie als Grant-Typ Autorisierungscode-Ablauf.

    Wählen Sie Autorisierungscode-Ablauf oder Autorisierungscode-Ablauf mit PKCE, um die Nutzerauthentifizierung von der Token-Ausgabe zu trennen und so die Sicherheit zu erhöhen, da diese Art der Gewährung Refresh-Tokens für langzeitigen Zugriff unterstützt, ohne sensible Anmeldedaten preiszugeben.

  3. Führen Sie die Schritte 8–18 aus dem Abschnitt „OAuth-Verbindung erstellen“ aus.