Descripción general
Laravel Bluesky admite dos métodos de autenticación. Las llamadas a la API tras autenticarse son comunes en ambos.El nombre
LegacyAgent significa “método de autenticación anterior a OAuth”, pero App Password en sí no está marcado como obsoleto. En escenarios sin interacción del usuario, como notificaciones o publicaciones automáticas, App Password suele ser más sencillo y adecuado.Arquitectura
BlueskyManager es la implementación real del Facade Bluesky. Configuras un agente con login() o withToken() y, a partir de ahí, las llamadas a la API usan los mismos métodos en cualquiera de los dos métodos de autenticación.
App Password (LegacyAgent)
Flujo de autenticación
Bluesky::login()
Solo tienes que configurar el App Password en.env y llamar a login().
Reutilizar LegacySession
Llamar alogin() cada vez implica una petición a la API en cada ocasión. Cachear la sesión y reutilizarla es más eficiente.
Claves principales de LegacySession
Casos de uso adecuados
- Publicaciones automáticas en jobs de segundo plano y en la cola
- Notificaciones mediante los canales de Laravel Notification
- Procesos por lotes y tareas programadas
- Publicar desde la propia cuenta de la aplicación
OAuth (OAuthAgent)
Flujo de autenticación
Bluesky::withToken()
Pasas awithToken() el OAuthSession obtenido con Socialite.
OAuthSession a partir de valores guardados en la base de datos.
Claves principales de OAuthSession
Casos de uso adecuados
- Login de usuarios mediante Socialite
- Operaciones a la API en nombre del usuario
- Cuando cada usuario debe operar con una cuenta distinta
Las llamadas a la API tras autenticarse son comunes
Con cualquiera de los dos métodos de autenticación, traswithToken() se utilizan los mismos métodos de la API.
BlueskyManager alterna internamente entre LegacyAgent y OAuthAgent, pero el código que llama a la API no se ve afectado.
¿Cuál elegir?
Enlaces de referencia
- Basic client — operaciones de API tras autenticarse
- Socialite — detalles del flujo OAuth
- Canal de notificaciones — notificaciones con App Password / OAuth
- Source: invokable/laravel-bluesky