baks-dev/auth-yandex
Yandex ID authorization module for BaksDev. Install with composer require baks-dev/auth-yandex, create a Yandex ID app with redirect to /auth/yandex, set YANDEX_CLIENT_ID and YANDEX_CLIENT_SECRET in .env, then install assets and run migrations.
config/auth.php driver, no Artisan commands, and it pins PHP 8.4+. So the real decision is rarely "adopt this" but "use this as the reference implementation for a ~150-line in-house OAuth2 flow, or stand up a Symfony kernel alongside Laravel." Either way, the PM decision is buy the knowledge, build the integration — a small, bounded, low-risk build.baks-dev/core user entity — non-trivial architectural coupling for a Laravel app. That is a roadmap cost to surface early: this is not a drop-in; it's a pattern to port.yandex_id, not email, and requiring confirmation before linking an existing local account) is a security product decision, not just an engineering detail. The PM owns the call on "silent link vs. confirm," because getting it wrong is an account-takeover vector.Consider it when:
baks:assets:install / Doctrine migration flow works as documented.login.yandex.ru/info) to port into Laravel — the README plus source is a decent spec, and the auth-yandex PHPUnit group gives you behavioural hints.Look elsewhere when:
composer require and done in Laravel. It will not happen. Use Laravel Socialite with a Yandex driver, or write the ~150-line controller — both are lower total cost than bridging this.php 8.4+ constraint is a hard blocker; don't discover it in staging.invalid_request.To executives: "Yandex ID login is a one-to-three-day feature if we treat this package as a reference implementation rather than a dependency. It's an MIT-licensed, single-purpose module for Yandex OAuth2 login — small, readable, no lock-in. The catch: it's built for Symfony, and our stack is Laravel, so we won't composer require it — we'll use its flow as the spec and implement it natively in about 150 lines with Laravel Socialite-style code. The strategic value is speed-to-market for CIS users at near-zero licensing cost and near-zero vendor risk. The real decisions for you are (1) is Yandex login a must-have for our target segment this quarter, and (2) do we accept a small bespoke auth surface we own forever versus waiting for a maintained Socialite driver."
To engineering: "This is a Symfony bundle with Doctrine migrations and a bin/console install step — none of which runs in our Laravel app, and it hard-requires PHP 8.4. Recommendation: port, don't install. Read vendor/baks-dev/auth-yandex/src/ for the exact endpoints and scopes, translate the Doctrine migration to an Eloquent yandex_identities pivot table keyed on yandex_id (never email), validate state with hash_equals, and keep tokens server-side in cache — never in session or Blade. Feature-test the whole flow with Http::fake() covering: valid callback, bad state, access_denied, email collision with an existing local account (must require confirmation — this is an account-takeover vector, not a UX nicety), and repeat login for a known yandex_id (must not duplicate the user). Budget half a day just reading the vendor source before writing code; the README covers install and env only. Treat this as a small, well-bounded build we fully control."
How can I help you explore Laravel packages today?