Überblick
Laravel Bluesky unterstützt zwei Authentifizierungsmethoden. Die API-Aufrufe nach der Authentifizierung sind bei beiden Methoden identisch.Der Name
LegacyAgent bedeutet „Authentifizierungsmethode vor OAuth”, App Password selbst ist jedoch nicht als deprecated markiert. In Szenarien ohne Nutzerinteraktion, wie Benachrichtigungen und automatisierten Posts, ist App Password einfacher und passender.Architektur
BlueskyManager ist die Implementierung hinter der Facade Bluesky. Mit login() oder withToken() konfigurieren Sie den Agent, danach nutzen die API-Aufrufe unabhängig von der Authentifizierungsmethode dieselben Methoden.
App Password (LegacyAgent)
Authentifizierungsfluss
Bluesky::login()
Setzen Sie das App Password in.env und rufen Sie login() auf.
Wiederverwendung der LegacySession
Wenn Sie jedes Mallogin() aufrufen, entsteht jedes Mal eine API-Anfrage. Es ist effizienter, die Session zu cachen und wiederzuverwenden.
Wichtige Schlüssel der LegacySession
Geeignete Anwendungsfälle
- Auto-Posts in Background-Jobs / Queues
- Benachrichtigungen über einen Laravel-Notification-Kanal
- Batch-Verarbeitung und Scheduling
- Posten unter dem eigenen Konto der Anwendung
OAuth (OAuthAgent)
Authentifizierungsfluss
Bluesky::withToken()
Übergeben Sie die per Socialite erhalteneOAuthSession an withToken().
OAuthSession aus in der DB gespeicherten Werten zusammenbauen.
Wichtige Schlüssel der OAuthSession
Geeignete Anwendungsfälle
- Nutzer-Login mittels Socialite
- API-Operationen im Namen des Nutzers
- Wenn Operationen mit unterschiedlichen Konten pro Nutzer erforderlich sind
API-Aufrufe nach der Authentifizierung sind gemeinsam
NachwithToken() verwenden Sie unabhängig von der Authentifizierungsmethode dieselben API-Methoden.
BlueskyManager verwendet intern je nach Bedarf LegacyAgent oder OAuthAgent, für den aufrufenden Code macht das keinen Unterschied.
Welche Methode wählen?
Weiterführende Links
- Basic client – API-Operationen nach der Authentifizierung
- Socialite – Details zum OAuth-Ablauf
- Notification-Kanal – Benachrichtigungen über App Password / OAuth
- Source: invokable/laravel-bluesky