Что делать c кодом из Google OAuth 2.0?
Пишу авторизацию через Google. Я делаю запрос на сайт
https://accounts.google.com/o/oauth2/auth?redirect_uri=URL&response_type=code&client_id=CLIENT_ID&scope=https://www.googleapis.com/auth/gmail.readonly |
https://accounts.google.com/o/oauth2/auth?redirect_uri=URL&response_type=code&client_id=CLIENT_ID&scope=https://www.googleapis.com/auth/gmail.readonly
и он переадресовывает на правильную страницу, с запросами GET -
?code=4/бла-бла-бла&scope=https://www.googleapis.com/auth/gmail.readonly |
?code=4/бла-бла-бла&scope=https://www.googleapis.com/auth/gmail.readonly
, а вот что делать с этим кодом не понимаю, нормальной информации нету
Дополнительно:
Ответы:
Дальше с этим кодом нужно запростить `access_token`.
Введение в OAuth 2
- куда запрос?
- Swimergg, https://developers.google.com/identity/protocols/o...
- Alex, А есть вариант по лучше? Просто у меня там кое какая ошибка, связанная с провайдером веб хостинга - Я не могу использовать конкретно это API
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для работы с кодом из Google OAuth 2.0 необходимо правильно настроить авторизацию и получить доступ к API. Вот пример простого кода на PHP для работы с Google OAuth 2.0:
$code, 'client_id' => $client_id, 'client_secret' => $client_secret, 'redirect_uri' => $redirect_uri, 'grant_type' => 'authorization_code' ); $ch = curl_init($token_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); $response = curl_exec($ch); curl_close($ch); $token = json_decode($response, true); if (isset($token['access_token'])) { $access_token = $token['access_token']; $user_info_url = 'https://www.googleapis.com/oauth2/v1/userinfo?access_token=' . $access_token; $ch = curl_init($user_info_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $user_info = curl_exec($ch); curl_close($ch); $user_info = json_decode($user_info, true); // Выводим информацию о пользователе var_dump($user_info); } else { echo 'Ошибка получения токена'; } } else { $params = array( 'response_type' => 'code', 'client_id' => $client_id, 'redirect_uri' => $redirect_uri, 'scope' => implode(' ', $scopes) ); $url = $auth_url . '?' . http_build_query($params); header('Location: ' . $url); } ?>
Этот код позволяет получить доступ к API Google OAuth 2.0, авторизовать пользователя и получить информацию о нем. Вам нужно заменить значения переменных $client_id, $client_secret и $redirect_uri на свои собственные. После этого вы сможете использовать этот код для работы с Google OAuth 2.0.