Overzicht
Laravel Bluesky ondersteunt twee authenticatiemethodes. Na authenticatie zijn de API-aanroepen voor beide methodes identiek.De naam
LegacyAgent verwijst naar “de authenticatiemethode van vóór OAuth”, maar App Password zelf wordt niet uitgefaseerd. Voor scenario’s zonder gebruikersinteractie, zoals notificaties en automatisch posten, is App Password eenvoudiger en beter geschikt.Architectuur
BlueskyManager is de implementatie achter de Bluesky Facade. Je stelt een agent in via login() of withToken(), en de API-aanroepen daarna gebruiken bij beide authenticatiemethodes dezelfde methodes.
App Password (LegacyAgent)
Authenticatieflow
Bluesky::login()
Je hoeft alleen het App Password in.env in te stellen en login() aan te roepen.
LegacySession hergebruiken
Elke keerlogin() aanroepen betekent elke keer een API-request. Het is efficiënter om de sessie te cachen en te hergebruiken.
Belangrijkste sleutels van LegacySession
Geschikte use cases
- Automatisch posten via background jobs en queue-verwerking
- Notificaties via een Laravel Notification-kanaal
- Batchverwerking en scheduling
- Posten met het account van de applicatie zelf
OAuth (OAuthAgent)
Authenticatieflow
Bluesky::withToken()
Je geeft de via Socialite verkregenOAuthSession door aan withToken().
OAuthSession samenstellen uit waarden die in de database zijn opgeslagen.
Belangrijkste sleutels van OAuthSession
Geschikte use cases
- Gebruikerslogin via Socialite
- API-aanroepen namens een gebruiker
- Situaties waarin je per gebruiker met een ander account moet werken
API-aanroepen na authenticatie zijn identiek
Bij beide authenticatiemethodes gebruik je nawithToken() dezelfde API-methodes.
BlueskyManager gebruikt intern een LegacyAgent of OAuthAgent, maar dat heeft geen invloed op de aanroepende code.
Welke moet je kiezen?
Referenties
- Basic client — API-operaties na authenticatie
- Socialite — details van de OAuth-flow
- Notificatiekanaal — notificaties met App Password / OAuth
- Source: invokable/laravel-bluesky