
Предоставление удалённого доступа к учётной записи пользователя без передачи учётных данных
Предоставьте удалённый доступ к учётной записи пользователя, не передавая учётные данные.
Remote Control можно установить через composer:
composer require "katsana/remote-control"
Пакет автоматически зарегистрирует сервис-провайдер.
Затем необходимо опубликовать конфигурационный файл Remote Control:
php artisan vendor:publish --provider="RemoteControl\RemoteServiceProvider" --tag="config"
Перед созданием любого удалённого доступа необходимо объявить маршрут верификации:
RemoteControl\Remote::verifyRoute('remote-control')->middleware('web');
Для использования подписанного URL необходимо добавить middleware signed:
RemoteControl\Remote::verifyRoute('remote-control')->middleware(['signed', 'web']);
Вы можете создать удалённый доступ, выполнив следующий код:
$user = request()->user();
$recipientEmail = '[email protected]';
$content = 'Please help me';
$accessToken = RemoteControl\Remote::create($user, $recipientEmail, $content);
Вы можете получить URL с помощью следующего метода:
$accessToken->getUrl();
Вы также можете получить подписанный URL с помощью следующего метода:
$accessToken->getSignedUrl();
Вы можете автоматически отправить письмо получателю через следующий Mailable:
Mail::send(new RemoteControl\Mail\GrantRemoteAccess($user, $accessToken, $content));