Tentative d'authentification à l'aide de Google sur iOS avec un serveur backend, code utilisé pour travailler avec d'anciennes bibliothèques clientes google.Erreur lors de la récupération du jeton d'accès OAuth2 - invalid_grant. MAIS il est VALIDE
$client = new Google_Client();
$oauth2 = new Google_Service_Oauth2($client);
$client->setApplicationName('MyApp');
$client->setClientId($google_config["clientId"]);
$client->setClientSecret($google_config["clientSecret"]);
$client->setRedirectUri("");
$client->setDeveloperKey($google_config["developerKey"]));
Log::error("Google/authcode", $request->get('token'));
if (! isset($_SESSION['access_token'])) {
try {
$client->authenticate($request->get('token'));
} .... THROWS exception: Error fetching OAuth2 access token, message: 'invalid_grant:
Tentative de valider un jeton contre:
https://www.googleapis.com/oauth2/v1/tokeninfo?id_token= https://www.googleapis.com/oauth2/v2/tokeninfo?id_token= https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=
tous les travaux montre avec succès ce jeton est valide.
EDIT: JUSTE TROUVÉ après avoir ajouté appel verifyIdToken, que: émetteur non valide, https://accounts.google.com = accounts.google.com semble que c'est la raison pour laquelle je reçois un échec. Je devine que iOS sdk vs PHP configure les choses différemment? Ou peut-être ce n'est pas pertinent et est supposé que ce n'est pas l'autorisation du serveur à partir de l'appareil iOS. Puisque si je continue à changer les choses sur le code côté serveur, c'est-à-dire https://accounts.google.com, je me trompe d'erreur de destinataire, ce qui est logique puisque j'utilise un tokenid obtenu par le client iOS pour autoriser le serveur.
La version plus ancienne de l'application iOS fonctionne également. Mais le jeton est complètement différent bien que valide bien aussi bien. Toute aide est grandement appréciée.