jhaoda/socialite-odnoklassniki
Odnoklassniki (OK.ru) OAuth2 provider for Laravel Socialite. Adds OK.ru login to your app, letting users sign in with their Odnoklassniki account and fetch basic profile data through Socialite's familiar, fluent driver API.
Architecture fit
OdnoklassnikiServiceProvider and extends Socialite's driver resolver via Socialite::extend('odnoklassniki', …). This is the framework-sanctioned extension point, so the package sits outside the core auth path and cannot destabilize existing auth flows.Socialite::driver('odnoklassniki') exactly as with GitHub/Google, so it is interchangeable behind our own SocialAuthProvider interface if we choose to abstract it.state CSRF remain Socialite's responsibility, which is a positive.Integration feasibility
composer require + config/services.php entry (client_id, client_secret, redirect, plus OK's application_key/application_secret for signed API calls) + one route pair. Realistically a 1–2 day spike including real-credential verification.application_key and an MD5 request signature (sig) derived from sorted params plus the application secret. This custom signing logic is the genuinely non-trivial part of the package and the part most likely to break — it is also the main reason not to hand-roll.Technical risk
illuminate/support and socialite constraints are likely to conflict, and Composer will refuse to install rather than fail silently.sig scheme (MD5 is mandated by the provider, not chosen by us — document this so it isn't flagged in a security review), plus hardcoded endpoints that will silently rot if OK migrates.Key questions
composer why-not, not documentation.)Stack fit
laravel/socialite already installed and at least one provider in production. If Socialite is absent, the calculus changes: we'd be adding a framework-level dependency to serve one low-volume provider.config/services.php → odnoklassniki block, two routes (redirect, callback), one controller action. No changes to config/auth.php, guards, or the users table are required beyond a nullable odnoklassniki_id (or a social_identities table if we already support multiple providers)..env examples copied around.Migration path
composer.json constraints, run the existing suite, and add a matrix job. The code volume is small enough that a fork is hours, not weeks — but it converts a dependency into an owned artifact, which needs an explicit owner.SocialIdentityProvider contract from day one. This costs ~half a day and makes the eventual swap to an in-house or alternative implementation a one-class change instead of a blast radius.Compatibility
Sequencing
Maintenance
Support
Scaling
Failure modes
Ramp-up
How can I help you explore Laravel packages today?