directorytree/bartender
Opinionated Socialite authentication for Laravel. Ships ready-made routes (/auth/{driver}/redirect, /callback), a controller, migrations to store provider IDs and optional access/refresh tokens, and customizable hooks for features like soft deletes and email verification.
ProviderHandler, ProviderRepository, ProviderRedirector). This makes it adaptable to niche requirements (e.g., custom user attributes, multi-tenancy).Authenticatable, StoresProviderTokens interface). Reduces context-switching for Laravel developers.socialiteproviders/google), but this is a one-time cost. The package abstracts provider-specific quirks (e.g., token handling, scopes).provider_id, provider_name). Teams must decide whether to store tokens (security vs. convenience tradeoff).users table (even encrypted) introduces risks if the database is compromised. Teams must weigh the convenience of token storage against security best practices (e.g., using a dedicated oauth_tokens table).ProviderRepository.ProviderRedirector classes. Teams may overlook this if using the default redirector./auth/{driver}/redirect links.serve() method.ProviderRepository, ProviderRedirector) as needed.socialiteproviders/google). Ensure these are up-to-date and compatible with the target Laravel version.users table columns. Teams should review and adapt migrations (e.g., skip token columns if not needed).User model or auth backend (e.g., Casbin, custom guards), additional integration work is required to align with Bartender’s expectations.socialiteproviders/google).AppServiceProvider./auth/google).composer or GitHub Actions.ProviderHandler) may require maintenance if provider behaviors change. Document these dependencies clearly.redirect URLs in services.php) or token storage problems. Logs from Socialite and Bartender should be reviewed (e.g., storage/logs/laravel.log).ProviderRepository to enforce business rules (e.g., block duplicate emails).provider_refresh_token) and handle revocation scenarios (e.g., user requests token deletion).users table may impact write performance at scale. Consider sharding or a dedicated `oauth_tokensHow can I help you explore Laravel packages today?