socialiteproviders/yandex
Yandex OAuth provider for Laravel Socialite. Adds Yandex login to your Laravel app, letting users authenticate via their Yandex account using a familiar Socialite driver. Install via Composer and configure your client ID, secret, and redirect URI.
Architecture fit. socialiteproviders/yandex is a thin OAuth 2.0 driver that plugs into Laravel Socialite via the SocialiteProviders\Manager event hook. It adds no persistence layer, no middleware, and no service container bindings beyond the standard SocialiteWasCalled listener, so it slots cleanly into the existing Laravel auth architecture. The package is a read-only subtree split of SocialiteProviders/Providers; the code is generated from the monorepo, meaning the effective architecture and maintenance model are those of the parent project, not this repository.
Integration feasibility. Low effort: one Composer dependency (plus the manager package if not already present), one event listener registration, one entry in config/services.php, and two routes (redirect and callback). There are no migrations, no published config, and no assets. A Laravel developer familiar with Socialite can complete a first working flow in under a day; hardening (account linking, error UX, tests) adds a few more days.
Technical risk. The code-level risk is small because the provider surface is a single class extending AbstractProvider. The real risks are external and provenance-related:
SocialiteProviders/Providers repository is widely used. Evaluation should be against the monorepo's release cadence, test coverage, and maintainer activity.Key questions.
login:email, login:info, login:avatar) does it request by default?Stack fit. The package assumes a Laravel application already using, or willing to adopt, Socialite as the OAuth abstraction. Applications with a custom OAuth implementation or a non-Laravel PHP stack gain less; for those, the package is a reference implementation rather than a drop-in. It composes cleanly with other SocialiteProviders drivers, so adding Yandex alongside Google or GitHub is additive.
Migration path. For an existing custom Yandex integration, the migration is a re-plumbing of the authorization and callback handlers onto Socialite::driver('yandex'), plus a mapping pass that reconciles existing Yandex subject IDs to local user records. Preserve the old flow behind a feature flag until the new callback path has been validated against real accounts, and support account linking for users whose local record was created before the migration.
Compatibility. Pin the package to a tag that explicitly declares support for the application's Laravel and Socialite versions, and verify the transitive constraint on socialiteproviders/manager. Because the split tracks monorepo tags, treat the monorepo changelog as the real compatibility record. Run composer why-not against the target Laravel version during the spike rather than assuming.
Sequencing.
SocialiteWasCalled listener in the appropriate service provider.yandex credential block to config/services.php, sourced from secrets management, not .env committed to the repo.Maintenance. Ongoing effort is low but not zero: the package must be upgraded in lockstep with Socialite and with the monorepo's release cadence. Because the repository is read-only, local patches are not viable — any fix must go upstream or be carried as a Composer patch. Automate dependency updates and review upstream releases on a monthly cadence.
Support. Community-supported with no vendor SLA. Escalation for a broken Yandex endpoint is an upstream issue in SocialiteProviders/Providers; the team should be prepared to fork or pin to a previous tag if a regression lands. Document the internal owner and the upstream issue link in the runbook.
Scaling. Negligible application-side overhead — OAuth handshakes are per-login and stateless apart from session state. Throughput limits are imposed by Yandex's rate limits and availability, not by the package. Horizontal scaling requires only shared session storage, which the application already has.
Failure modes. Yandex ID outage or endpoint change; redirect URI mismatch after a domain change; consent denial surfacing as an unhandled exception; a null or unverified email in the Yandex response breaking user creation logic; duplicate accounts when email-based matching collides with an existing local user; the driver not being registered because the event listener was omitted or config was cached. Each needs an explicit error path and an alert on callback failure rate.
Ramp-up. Minimal. A Laravel developer with Socialite experience needs a few hours to read the provider and ship a working flow; the larger time sink is Yandex application registration, compliance review, and the account-linking logic, which are application concerns rather than package concerns. Budget one engineer-week end to end including tests and rollout, plus legal review if Russian user data is in scope.
How can I help you explore Laravel packages today?