Я использую клиентскую библиотеку Google PHP для аутентификации пользователей на сайте.Использование очень близко к примеру в документах
Однако пользователи всегда перенаправляются на домашнюю страницу после входа в систему, то есть site.com/
.
Как правильно вернуть пользователей на запрошенный URL после входа в систему, например, site.com/requested-uri
?
Я пытался передать параметр запроса наначальный запрос через index.php
:
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . '/oauth2callback.php?redirect=' . $_SERVER['REQUEST_URI'];
Затем передайте его в пример кода из документов:
$uri = parse_url($_SERVER["REQUEST_URI"]);
parse_str($uri['query'], $query);
$redirect = $query['redirect'];
if (!isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $redirect;
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
Однако, он все еще перенаправляет беззапрошенный URI.
Я чувствую, что должен быть способ сделать это встроенным в библиотеку PHP.Есть идеи, как заставить это работать?