depakespedro/laravel-auth-url

One-time authorization by url link.

1.0 2018-10-16 21:02 UTC

This package is not auto-updated.

Last update: 2024-04-25 21:00:56 UTC


README

Установка

Устанавливаем пакет

composer require depakespedro/laravel-auth-url

Добавляем сервис провайдер если требует того версия Laravel в config/app.php

Depakespedro\LaravelAuthUrl\Providers\AuthUrlServiceProvider::class

Публикуем конфиг

php artisan vendor:publish --provider='Depakespedro\LaravelAuthUrl\Providers\AuthUrlServiceProvider' --tag=config

Публикуем миграцию и накатываем ее

php artisan vendor:publish --provider='Depakespedro\LaravelAuthUrl\Providers\AuthUrlServiceProvider' --tag=migrations
php artisan migrate

Если требуются правки авторизации, то публикуем контроллер

php artisan vendor:publish --provider='Depakespedro\LaravelAuthUrl\Providers\AuthUrlServiceProvider' --tag=controller

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

Создаем запись в БД для регистрации хеш ключа авторизации c помощью фасада

use Depakespedro\LaravelAuthUrl\Facades\Manager;
$user = App\User::find(1);
$redirectSuccess = '/success';
$paramsQuery = ['foo' => 'bar'];
$authUrlModel = Manager::createUrl($user, $redirectSuccess, $paramsQuery);

Получаем экземпляр модели

Depakespedro\LaravelAuthUrl\Models\AuthUrl

Получаем ссылку для авторизации

$authUrl = $authUrlModel->getUrlAuth()

Ссылка имеем примерный вид

https://singleauth.dev/auth/url/%242y%2410%240e0U01balNAicGhVBvta0OhJnQDtFr6uEaoz.lVLx2RdmQjeSlE1a

При авторизации по ссылке $authUrl будем перенаправлены на роут вида

/success?foo=bar