Der OAuth 2.0-Autorisierungsablauf von Twitter, bekannt als "Authorization Code with PKCE (Proof Key for Code Exchange)", ist ein entscheidender Prozess für die Integration des Twitter(jetzt zu X geändert)-Logins in Websites von Drittanbietern.
Um von allen Vorteilen von Apidog zu lernen und zu profitieren, klicken Sie auf die Schaltfläche unten!
Dieser Artikel bietet eine umfassende Anleitung zur Implementierung dieses Prozesses und zum Debuggen mit Apidog. Beginnen Sie mit dem Grundkonzept von OAuth 2.0.

Was ist OAuth 2.0?
OAuth 2.0 ist ein offenes Standard-Autorisierungsprotokoll, das Anwendungen von Drittanbietern den Zugriff auf geschützte Ressourcen ermöglicht, ohne den Benutzernamen und das Passwort des Benutzers anzugeben. Es ermöglicht Benutzern, Anwendungen von Drittanbietern zu autorisieren, auf ihre geschützten Ressourcen zuzugreifen, ohne ihre Anmeldeinformationen direkt preiszugeben. OAuth 2.0 wird häufig in Web- und mobilen Anwendungen verwendet, um einen sicheren Autorisierungsmechanismus bereitzustellen.
Das OAuth 2.0-Protokoll umfasst die folgenden Rollen:
- Resource Owner: Normalerweise der Benutzer, dem die geschützten Ressourcen gehören, wie z. B. Fotos, persönliche Profile usw.
- Client: Die Anwendung eines Drittanbieters, die auf die geschützten Ressourcen des Resource Owners zugreifen möchte.
- Authorization Server: Der Server, der für die Authentifizierung des Resource Owners und die Autorisierung des Clients für den Zugriff auf die Ressourcen zuständig ist.
- Resource Server: Der Server, der die geschützten Ressourcen speichert und APIs für den Zugriff darauf bereitstellt.

Häufige Autorisierungsabläufe
Das OAuth 2.0-Protokoll implementiert die Autorisierung über verschiedene Autorisierungsabläufe. Häufige Autorisierungsabläufe umfassen:
- Authorization Code Grant: Der Client leitet den Benutzer zum Authorization Server weiter. Nachdem sich der Benutzer angemeldet und die Berechtigung erteilt hat, gibt der Authorization Server einen Autorisierungscode an den Client zurück. Der Client tauscht dann den Autorisierungscode zusammen mit seinen Anmeldeinformationen gegen ein Zugriffstoken aus.
- Authorization Code Grant with PKCE (Proof Key for Code Exchange): Ähnlich wie der Standard-Autorisierungscode-Ablauf, aber der Client erhöht die Sicherheit durch die Verwendung von PKCE (Proof Key for Code Exchange).
- Resource Owner Password Credentials Grant: Der Resource Owner gibt dem Client direkt seinen Benutzernamen und sein Passwort an. Der Client verwendet diese Anmeldeinformationen dann, um ein Zugriffstoken vom Authorization Server anzufordern.
- Client Credentials Grant: Der Client fordert direkt ein Zugriffstoken vom Authorization Server unter Verwendung seiner eigenen Anmeldeinformationen an. Dieser Ablauf eignet sich für Fälle, in denen der Client selbst Zugriff auf Ressourcen benötigt.
- Implicit Grant: Wird verwendet, um ein Zugriffstoken direkt vom Client in einer browserbasierten Anwendung zu erhalten. Dieser Ablauf wird typischerweise für Web-Frontend-Anwendungen verwendet.
So melden Sie sich mit Twitter OAuth auf Websites von Drittanbietern an
Schritt 1: Client-ID und Client-Secret abrufen
Navigieren Sie zunächst zum Twitter Developer Center und erstellen Sie Ihr Konto oder greifen Sie darauf zu. Erstellen Sie eine Anwendung, falls nicht automatisch eine generiert wird.

Suchen Sie unter den Anwendungseinstellungen den Abschnitt "User authentication settings" und klicken Sie auf "Edit", um die auf Ihre Geschäftsanforderungen zugeschnittenen Berechtigungen zu konfigurieren.

Richten Sie als Nächstes die Callback-URL (Redirect URI) ein und geben Sie eine Website-URL an. Speichern Sie die Einstellungen, um die Client-ID und das Client-Secret zu generieren. Achten Sie darauf, diese Anmeldeinformationen zu kopieren und sicher zu speichern.

Nachdem Sie die obige Konfiguration ausgefüllt haben, klicken Sie auf "Speichern", um sie zu speichern. Zu diesem Zeitpunkt werden die Client-ID (Client ID) und das Client-Secret (Client Secret) generiert. Denken Sie daran, sie zu kopieren und zu speichern.
Wenn Sie sie vergessen, müssen Sie sie zurücksetzen. Generieren Sie, klicken Sie in der Anwendung auf "Keys and tokens" und scrollen Sie die Seite nach unten, um sie anzuzeigen.


Schritt 2: Zugriffstoken abrufen
Gehen Sie nach dem Einrichten der Voraussetzungen wie folgt vor, um ein Zugriffstoken zu erhalten. Verwenden Sie Apidog, ein leistungsstarkes Tool zum Debuggen und Verwalten von APIs, für diese Demonstration.

- Erstellen Sie eine HTTP-Anfrage in Apidog und wählen Sie die Option OAuth 2.0 unter "Modify Document -> Auth -> OAuth 2.0" aus.

2. Wählen Sie den PKCE-Autorisierungsmodus, da Twitter OAuth 2.0 den Authorization Code mit PKCE verwendet.

3. Konfigurieren Sie Client-ID, Client-Secret und Redirect-URL, die von Twitter OAuth 2.0 abgerufen wurden.

Legen Sie die Autorisierungscode-Anforderungs-URL auf https://twitter.com/i/oauth2/authorize fest.

Konfigurieren Sie bei Bedarf zusätzliche Parameter wie Scope, Code Challenge Method und State.
Geben Sie die Zugriffstoken-Anforderungs-URL als https://api.twitter.com/2/oauth2/token an.
Klicken Sie auf "Get Token", um den Token-Abrufprozess zu starten. Authentifizieren Sie sich mit Ihren Twitter-Anmeldeinformationen, falls Sie dazu aufgefordert werden.

Hinweis:

Schritt 3: Auf offene Ressourcen mit Token zugreifen
Sobald Sie das Zugriffstoken erhalten haben, können Sie es verwenden, um auf die offenen Ressourcen von Twitter zuzugreifen. Apidog fügt das Token automatisch dem Authorization-Feld des Anfrageheaders als Bearer-Token an. Alternativ können Sie die Platzierung des Tokens in den Abfrageparametern der URL konfigurieren.

Fazit
Die Integration des Twitter OAuth 2.0-Dienstes für die Anmeldung auf Websites von Drittanbietern umfasst drei Hauptschritte: Erstellen einer Anwendung im Twitter Developer-Dashboard, Erstellen der Anmeldeseite und Zugreifen auf offene Ressourcen mit dem abgerufenen Zugriffstoken.
OAuth 2.0 ist ein robustes Autorisierungsprotokoll, wobei Twitter den Authorization Code-Ablauf mit PKCE verwendet. Tools wie Apidog rationalisieren den OAuth 2.0-Authentifizierungsprozess und erleichtern den Token-Abruf und den Ressourcenzugriff.