<?php
/**
 * Recibe el código OAuth2 de Google, lo intercambia por tokens y los guarda.
 */
require_once __DIR__ . '/../config/config.php';

if (empty($_GET['code'])) {
    die('Error: no se recibió código de autorización.');
}

$postData = http_build_query([
    'code'          => $_GET['code'],
    'client_id'     => GOOGLE_CLIENT_ID,
    'client_secret' => GOOGLE_CLIENT_SECRET,
    'redirect_uri'  => GOOGLE_REDIRECT_URI,
    'grant_type'    => 'authorization_code',
]);

$ctx = stream_context_create([
    'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => $postData,
    ]
]);

$response = file_get_contents('https://oauth2.googleapis.com/token', false, $ctx);
$token    = json_decode($response, true);

if (empty($token['access_token'])) {
    die('Error al obtener token: ' . htmlspecialchars($response));
}

$token['created_at'] = time();

file_put_contents(
    COARCA_ROOT . '/config/google-token.json',
    json_encode($token, JSON_PRETTY_PRINT)
);

header('Location: ../index.php?google=connected');
exit;
