как управлять возвращенным клиентом в oauth 2.0 php? - PullRequest
3 голосов
/ 15 апреля 2020

Я новичок в oauth 2.0 и могу его реализовать и могу войти в систему. но я не в состоянии обработать возвращенного клиента, поскольку он всегда перебрасывается на мою страницу входа после истечения срока действия токена доступа, который составляет 1 час. тогда как он должен генерировать новый токен доступа с помощью refre sh токена. Я отослал этот документ для реализации этого.

https://bshaffer.github.io/oauth2-server-php-docs/cookbook/

, когда я нажимаю кнопку входа в систему, я перенаправляю его на страницу авторизации. где он проверяет, присутствует ли user_id (который я получаю после входа в систему), если нет, то перенаправьте на страницу входа. Я получаю эти параметры на странице аутентификации

1: Redirect_uri
2: Scope
3: client_id
4: состояние

, и я получаю эти параметры на странице токена

1: Grant_type
2: код
3: client_id
4: redirect_uri

все значения сохраняются в БД после генерации. Срок действия маркера доступа истекает через час, и после этого, когда я пытаюсь получить доступ к API, он снова запрашивает логин.

if(!isset($_GET['user_id']) && empty($_GET['user_id'])){
    exit(getToLogin($client_id,$state,$response_type,$redirect_uri));
}else{
    $userid = $_GET['user_id'];
    $is_authorized = true;
    $server->handleAuthorizeRequest($request, $response, $is_authorized, $userid);
    if ($is_authorized) {
            $code = substr($response->getHttpHeader('Location'), strpos($response->getHttpHeader('Location'), 'code=')+5, 40);
    }
}

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

...