Weave Code
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

Vkontakte Laravel Package

socialiteproviders/vkontakte

Laravel Socialite provider for VKontakte (vk.ru). Install via Composer, add vkontakte credentials to config/services.php, register the SocialiteWasCalled listener, then authenticate with Socialite::driver('vkontakte'). Returns id, nickname, name, email, avatar.

View on GitHub
Deep Wiki
Context7

[READ ONLY] Subtree split of the SocialiteProviders/VKontakte Provider (see SocialiteProviders/Providers)

Frequently asked questions about Vkontakte
How do I install and configure the VKontakte Socialite provider for Laravel?
Run `composer require socialiteproviders/vkontakte`, then add your VK app credentials to `config/services.php` under the `vkontakte` key. For Laravel 11+, register the listener in `AppServiceProvider` using `Event::listen()` with the `SocialiteWasCalled` event. Laravel 10 or below requires adding the listener in `EventServiceProvider`.
What Laravel and PHP versions does this package support?
The package works with Laravel 8+ and PHP 8.0+. Ensure your `laravel/framework` and `socialiteproviders/vkontakte` versions are compatible (e.g., Laravel 8/9 with Socialite v5.x). Check Composer constraints for exact version requirements.
Does this provider support stateless authentication for APIs?
Yes, you can use `Socialite::driver('vkontakte')->stateless()` to enable stateless authentication, which is ideal for API-based applications. This bypasses Laravel’s session management entirely.
What user data fields does the VKontakte provider return by default?
The provider returns `id`, `nickname`, `name`, `email`, and `avatar` by default. You can extend this by overriding the user mapping in your `AuthServiceProvider` or by requesting additional scopes during authentication.
How do I handle VKontakte API rate limits or outages in production?
VKontakte’s API has rate limits, so implement retry logic or caching for user data. For outages, add fallback mechanisms like manual user creation or redirecting users to alternative login methods. Monitor VK’s API status and adjust your error handling accordingly.
Can I customize the scopes or redirect URI for VKontakte authentication?
Yes, you can override the default scopes or redirect URI by extending the provider in your `AuthServiceProvider`. Use `Socialite::extend('vkontakte', function ($app) { ... })` to modify the configuration before the OAuth2 request is made.
Is there a way to test the VKontakte provider locally without hitting VK’s API?
No, this provider requires real VKontakte API calls. Use mocking libraries like Laravel’s `Mockery` or `Vcr` to simulate API responses in tests, but ensure your tests cover edge cases like token expiration or invalid responses.
What happens if VKontakte changes its OAuth2 API or deprecates endpoints?
Since the last package update in 2025, there’s a risk of breaking changes if VKontakte modifies its API. Monitor VK’s API documentation for deprecations and update the package or extend the provider to handle new endpoints or scopes.
How do I integrate VKontakte authentication with Laravel’s default User model?
Extend Laravel’s default `User` model or create a custom user provider. The provider returns user data (e.g., `id`, `email`), which you can map to your model during the callback. Use `Socialite::driver('vkontakte')->user()` to fetch the raw data and create/update the user.
Are there alternatives to this package for VKontakte OAuth2 in Laravel?
This is the most maintained and Laravel-idiomatic option for VKontakte OAuth2. Alternatives include rolling your own OAuth2 client using `league/oauth2-client`, but this requires more boilerplate. The `socialiteproviders/vkontakte` package is optimized for Laravel’s Socialite ecosystem.
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.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views