Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Odnoklassniki Laravel Package

socialiteproviders/odnoklassniki

Odnoklassniki (OK.ru) OAuth2 provider for Laravel Socialite. Adds a ready-made driver so you can authenticate users via Odnoklassniki with one line: Socialite::driver('odnoklassniki')->redirect(). Install with Composer, set your client ID and secret, and receive standard Socialite user objects.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is a thin Socialite driver, not a framework or subsystem. Its entire surface is an OAuth 2.0 endpoint configuration plus a getUserByToken mapping into Socialite's User contract, registered through the SocialiteWasCalled event. That means it fits any Laravel codebase that already uses Socialite for another provider with no new architectural boundary: same controller shape, same callback route, same Socialite::driver('odnoklassniki') call site. It stores nothing, publishes nothing, and requires no migrations. The only schema implication is on our side — a new provider/provider_id (or equivalent) column and a linking policy for existing accounts. From a TPM standpoint the architectural cost is near zero and the decision is therefore market-driven, not engineering-driven.

Integration feasibility. High feasibility, low effort. Composer install, one listener registration, credentials in config/services.php, a redirect and a callback route, and a smoke test against a real OK.ru account. A competent Laravel engineer reaches a working login in a one-day spike. The feasibility gate is entirely in dependency constraints, not code: the split package must agree with our laravel/socialite major, the socialiteproviders/manager major, and our Laravel/PHP version. Those are three lines in composer.json and should be read before any estimate is given.

Technical risk. Three risks matter and none are exotic.

  1. Upstream API drift. OK.ru can rename profile fields, change scopes, or alter token lifetimes. The package is a hard-coded adapter; when the provider moves, the package moves only if a maintainer ships a release. Login is a critical path, so this is the dominant long-term risk.
  2. Identity data quality. Odnoklassniki is not guaranteed to return a verified email on the default scope. If our account model keys on email, we will either create duplicate accounts or force a manual linking step. This is a product design decision that must be made before build, not discovered in QA.
  3. Split-package opacity. The 582 stars and the release note belong to the socialiteproviders/providers monorepo; this package is a subtree split with 0 dependents. Its effective maintenance is the monorepo's maintenance, and its version must track the monorepo and the manager package in lockstep. A per-package health read ("0 dependents") is misleading in both directions — it does not mean abandoned, and it does not mean battle-tested.

Key questions.

  • Which laravel/socialite, illuminate/*, PHP, and socialiteproviders/manager versions does this package's composer.json actually permit — and does that intersect our current stack?
  • Does the default scope return an email address, and if not, what identifier do we key on, and how do we link to an existing account safely?
  • Is the monorepo actively releasing (commit recency, issue responsiveness), and who is the named maintainer of this driver?
  • Does the driver request offline/refresh access, and if so, who owns token storage and renewal on our side?
  • Does the product roadmap actually target OK.ru's user base (Russia, Kazakhstan, Uzbekistan, Belarus), and has legal reviewed 152-FZ data-localization obligations for storing Russian users' profile data?

Integration Approach

Stack fit. A standard Laravel app on a currently supported PHP and a supported Socialite major. The driver is registered through SocialiteWasCalled in our service provider (or EventServiceProvider on older Laravel), so it composes with whatever Socialite providers we already run — Google, Apple, VK, etc. — without touching their wiring. Multi-provider coexistence is the normal case and is well-trodden: one config block per provider, one route pair per provider, one shared callback controller if we parameterize by driver.

Migration path. There is no incumbent to migrate from; this is greenfield. The right path is: (1) confirm the provider is not already implicitly available via the manager package, (2) composer require socialiteproviders/odnoklassniki on a branch and inspect the lockfile diff — that diff is the actual change under review, (3) add config and routes behind a feature flag so the login button is dark until legal and marketing sign off, (4) enable for internal users, then a small percentage, then GA. The feature flag is not ceremony: it lets the auth path revert in one config change if OK.ru changes behaviour the day after launch.

Compatibility. Verify in this order — PHP version in CI and production, Laravel major, Socialite major, socialiteproviders/manager major, ext-curl/ext-json, then the callback URL registration in the OK.ru developer console (exact scheme, host, and path; a trailing slash mismatch is the most common first-day failure). Confirm the driver works in the same Socialite version as our other drivers, since a mixed-major install is not possible.

Sequencing. Week 1: constraint audit and spike (one engineer, one to two days) plus a real-account end-to-end test. Week 2: product decision on identity linking and email fallback, plus legal review if Russian users are in scope. Week 3: build the UI (button, copy in the right locale, error states), instrument signup funnel events per provider. Week 4: staged rollout. Budget the calendar around legal and localization, not code — the code is the short pole.

Operational Impact

Maintenance. Low ongoing code maintenance, non-trivial dependency maintenance. A pinned patch version plus a quarterly check of the monorepo's releases is sufficient for steady state; the driver has no configuration we will tune. The real maintenance liability is the external provider contract. Assign a named owner in the dependency inventory — "auth provider integrations" — and add an alert on failed OAuth callbacks so upstream breakage surfaces as an incident, not as a slow signup-rate decline nobody attributes correctly.

Support. Support load comes from users, not from the package: failed logins, accounts created with a different provider, and "I signed up with OK.ru and can't get in" tickets. Prepare support macros and an account-linking self-service path before launch. For the package itself, GitHub Issues on the monorepo is the only channel; there is no paid tier, so our fallback is to vendor the driver or write a local one — worth costing once (it is roughly a single class) so the exit is a known quantity rather than a panic.

Scaling. Runtime cost is two outbound HTTPS calls per login (authorize redirect, token+profile exchange) on a path that only fires at signup and login. Throughput is bounded by human login rate, not by our traffic, so there is no meaningful scaling concern. Two practical notes: apply explicit timeouts and a circuit breaker around the token exchange so a slow OK.ru cannot pin PHP-FPM workers, and confirm the OK.ru application's rate limits before a large marketing push, since a launch spike is the one scenario that will hit them.

Failure modes (ranked by expected cost).

  1. Provider API change or outage breaks login. Highest impact — it is an auth path — but blast radius is limited to new OK.ru logins if we never allow it as a user's only credential. Mitigation: require an email or second method at signup, plus a feature flag to hide the button.
  2. Missing email creates duplicate or unlinkable accounts. Silent, expensive, and shows up weeks later as a support and data-quality problem. Mitigation: decide the linking policy up front and test it explicitly.
  3. Monorepo major bump forces a coordinated upgrade across every Socialite provider we use. Mitigation: keep providers on the same manager major and upgrade them as one unit.
  4. Abandonment of the split package. Low likelihood given the monorepo, low cost given the small surface, but it must be on the inventory with a documented fork plan.
  5. Compliance exposure from storing Russian users' personal data outside Russia. Not a package failure, but a program risk the package's existence invites.

Ramp-up. One to two days for anyone who has already integrated a Socialite provider; half a day for someone who has not, since the pattern is identical across drivers. The binding constraints are credentials access (OK.ru developer app creation may require a local entity or phone verification), legal review, and locale-appropriate copy — none of which are engineering time, all of which sit on the critical path. Frame the investment to stakeholders as market entry with a small engineering tail, not as an infrastructure upgrade, and judge it on incremental registrations and activation from OK.ru geographies rather than on package metrics.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log