Я новичок в 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);
}
}
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.