Я скачал проект с Попробуйте войти в Android, создал проект на Google API Console. Я успешно настроил signin
спроектировать и запустить приложение в эмуляторе. Я вставил идентификатор веб-клиента OAuth в strings.xml
, Потом открыл это IdTokenActivity
и получил idToken
,
Я скопировал этот токен и создал запрос с помощью POSTMAN на мой сервер http://localhost/api/googlesignin/hello
На сервере у меня есть этот код:
public function hello(Request $request)
{
$idToken = $request->get('idToken');
$client = new \Google_Client([
'client_id' => '[SAME CLIENT ID AS THE ONE IN STRINGS.XML]'
]);
$payload = $client->verifyIdToken($idToken);
var_dump($payload)
}
Но это возвращается FALSE
это означает, что он не может проверить $idToken
,
Но используя проверку токена конечной точки, вот так:
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={$idToken}
возвращает код состояния 200 и всю информацию об этом пользователе.
Я понятия не имею, почему GoogleClient не может проверить токен? Я использую неверный идентификатор клиента?
РЕДАКТИРОВАТЬ:
Я нашел источник проблемы: я дважды вставил ClientID:
'client_id' => 'client-id-tokenclient-id-token'
-.-
Задача ещё не решена.
Других решений пока нет …