vid-queue/app/Commands/TraktRefreshLogin.php

45 lines
1.3 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Commands;
use App\Services\Trakt;
use Illuminate\Contracts\Config\Repository;
class TraktRefreshLogin extends Command
{
protected $signature = 'trakt:refresh';
protected $description = 'Refresh access token.';
public function handle(Trakt $trakt, Repository $config): int
{
$refresh_token = $config->get('trakt.login.oauth.refresh_token');
if (empty($refresh_token)) {
$this->line("Failed to get refresh token");
return static::FAILURE;
}
$data = [
'refresh_token' => $refresh_token,
'client_id' => $config->get('trakt.app_id'),
'client_secret' => $config->get('trakt.app_secret'),
'redirect_uri' => $config->get('trakt.redirect_uri'),
'grant_type' => 'refresh_token',
];
$resp = $trakt->request()->post('/oauth/token', $data);
if (!$resp->ok()) {
$this->line('Failed to get new token');
return static::FAILURE;
}
// $this->line(json_encode($resp->body()));
// $body = $json->body();
$body = $resp->json();
$this->line("TRAKT_OAUTH_RESP='" . json_encode($body) . "'");
$this->line('TRAKT_OAUTH_TOKEN=' . $body['access_token']);
return static::SUCCESS;
}
}