Здравствуйте! Помогите пожалуйста решить проблему, связанную с проверкой токена на стороне сервера.
В Android приложении я получаю токен:
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
if (result.isSuccess()) {
GoogleSignInAccount acct = result.getSignInAccount();
String idToken = acct.getIdToken();
...
// TODO(user): Здесь отпралвяю полученный токен на сервер.
} else {
// Show signed-out UI.
}
На сервере проверяю токен:
function getUserFromToken($token) {
$client = new Google_Client();
$client->setClientId(CLIENT_ID);
$client->setClientSecret(CLIENT_SECRET);
$client->setRedirectUri('');
$client->setScopes('email');
$client->setAccessToken($token);
$ticket = $client->verifyIdToken();
if ($ticket) {
$data = $ticket->getAttributes();
return $data['payload']['sub']; // user ID
}
return false
}
Но происходит ошибка " id_token must be passed in or set as part of setAccessToken". Есть подозрение, что я где-то накосячил с access_token. Читал
доки и смотрел
примеры, но не могу понять как сделать простую проверку токена, чтобы в ответ мне пришла информация о пользователе.