PHPackages                             mistersaal/laravel-vk-mini-apps-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. mistersaal/laravel-vk-mini-apps-auth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

mistersaal/laravel-vk-mini-apps-auth
====================================

Пакет для аутентификации пользователя VK по подписи VK Mini Apps для Laravel

v1.1.6(5y ago)181MITPHP

Since May 27Pushed 5y ago1 watchersCompare

[ Source](https://github.com/mistersaal/laravel-vk-mini-apps-auth)[ Packagist](https://packagist.org/packages/mistersaal/laravel-vk-mini-apps-auth)[ RSS](/packages/mistersaal-laravel-vk-mini-apps-auth/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (1)Versions (11)Used By (0)

Аутентификация пользователя в VkMiniApps для Laravel
====================================================

[](#аутентификация-пользователя-в-vkminiapps-для-laravel)

Установка
---------

[](#установка)

```
composer require mistersaal/laravel-vk-mini-apps-auth

php artisan vendor:publish --provider=Mistersaal\VkMiniAppsAuth\VkMiniAppsAuthServiceProvider

```

В .env файл добавить:

```
VK_SECRET="your_secret_key"
VK_TOKEN="your_service_token"
```

В config\\auth.php:

- defaults.guard =&gt; 'vkMiniApps'
- в массив guards добавить:

```
'vkMiniApps' => [
    'driver' => 'vkSign',
    'provider' => 'vkUsers',
],

```

- в массив providers добавить:

```
'vkUsers' => [
    'driver' => 'vkMiniApps',
    'model' => App\User::class,
],

```

Использование
-------------

[](#использование)

User должен имплементировать Mistersaal\\VkMiniAppsAuth\\VkMiniAppsAuthenticatable. Метод getVkIdFieldName должен возвращать название поля с VK id пользователя.

Теперь можно использовать middleware *'auth.vk'*, который будет пропускать только аутентифицированных пользователей Vk Mini Apps (!!! он не пропустит пользователя, которого еще нет в вашей базе !!!)

URL с подписью передавайте с каждым запросом в заголовке 'X-Vk-Auth-Url' (либо измените в config/vkminiapps.php). Пример для axios:

```
import axios from 'axios';
window.axios = axios;
window.axios.defaults.headers.common['X-Vk-Auth-Url'] = window.location.href;
```

В хэлпере auth() или фасаде Auth будет доступен метод getVkIdentifier(), который выозвращает vkID, полученный из url.

Для автоматической регистрации пользователя можно сделать вот такой контроллер, который не будет защищен мидлваром:

```
class LoginController extends Controller
{
    /**
     * @param VkUsersData $vkUsersData Класс для получения пользователя с данными по апи (сами реализуете как вам надо)
     *@return array
    */
    public function login(VkUsersData $vkUsersData)
    {
        //Если подпись верна и пользователь уже есть, то вернет true
        //Если пользователя нет в базе, то false
        //Если ошибка подписи, то выбросит VkSignException (можно не отлавливать, пользователь просто получит 500)
        if (auth()->validate()) {
            $user = auth()->user();
            $vkUsersData->updateUserData($user);
            $user->save();
            return ['success' => true, 'newUser' => false];
        } else {
            $vkId = auth()->getVkIdentifier();
            $user = $vkUsersData->getNewUser($vkId);
            $user->save();
            return ['success' => true, 'newUser' => false];
        }
    }
}
```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

10

Last Release

2076d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9789e4a0a83970552ffad7a07fa9118a288178b5d0138d17aad9c2abbc683435?d=identicon)[mistersaal](/maintainers/mistersaal)

---

Top Contributors

[![mistersaal](https://avatars.githubusercontent.com/u/50755371?v=4)](https://github.com/mistersaal "mistersaal (11 commits)")

### Embed Badge

![Health badge](/badges/mistersaal-laravel-vk-mini-apps-auth/health.svg)

```
[![Health](https://phpackages.com/badges/mistersaal-laravel-vk-mini-apps-auth/health.svg)](https://phpackages.com/packages/mistersaal-laravel-vk-mini-apps-auth)
```

###  Alternatives

[lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users.

2.3k16.4M48](/packages/lab404-laravel-impersonate)[santigarcor/laratrust

This package provides a flexible way to add Role-based Permissions to Laravel

2.3k5.4M43](/packages/santigarcor-laratrust)[overtrue/laravel-follow

User follow unfollow system for Laravel.

1.2k404.7k5](/packages/overtrue-laravel-follow)[codegreencreative/laravel-samlidp

Make your PHP Laravel application an Identification Provider using SAML 2.0. This package allows you to implement your own Identification Provider (idP) using the SAML 2.0 standard to be used with supporting SAML 2.0 Service Providers (SP).

263763.5k1](/packages/codegreencreative-laravel-samlidp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
