Installer oauth 2 Google sur un site

Fermé
raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022 - 31 juil. 2022 à 18:48
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 - 31 juil. 2022 à 20:07

Bonjour,

Je suis actuellement en train d'essayer de mettre en place un système d'inscription avec Google sur un site, mais je tombe sur un problème plutôt étrange. Je pensais au début à un problème avec le client id ou le secret, mais visiblement ce n'est pas le cas.

Voila le code ou se trouve l'erreur :

<?php
require 'vendor/autoload.php';
require 'config.php';

use GuzzleHttp\Client;

$client = new Client([
    'timeout'  => 3.0,
    'verify' => __DIR__ . '/cacert.pem'
]);
try {
    $response = $client->request('GET', 'https://accounts.google.com/.well-known/openid-configuration');
    $discoveryJSON = json_decode((string)$response->getBody());
    $tokenEndpoint = $discoveryJSON->token_endpoint;
    $userinfoEndpoint = $discoveryJSON->userinfo_endpoint;
    $response = $client->request('POST', $tokenEndpoint, [
        'form_params' => [
            'code' => $_GET['code'],
            'client_id' => GOOGLE_ID,
            'client_secret' => GOOGLE_SECRET,
            'redirect_uri' => 'http://localhost/site/connexion.php',
            'grant_type' => 'authorization_code'
        ]
    ]);
$acessToken = json_decode($response->getBody())->access_token;
$response = $client->request('GET', $userinfoEndpoint, [
    'headers' => [
        'Authorization' => 'Bearer ' . $accessToken
    ]
    ]);
    $response = json_decode($response->getBody());
    if ($response->email_verified === true) {
        session_start();
        $_SESSION['email'] = $response->email;
        header('Location: connect/index.php');
        exit();
    }
} catch (\GuzzleHttp\Exception\ClientException $exception) {
    dd($exception->getMessage());
}
dd((string)$response->getBody());
?>
A voir également:

1 réponse

yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
31 juil. 2022 à 19:21

bonjour,

As-tu lu la première ligne du message d'erreur?

Merci de partager le texte des messages d'erreur, pas des images de ce texte.

0
raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022 63
31 juil. 2022 à 19:29

Bonjour,

Oui tout à fait, mais je ne le comprends pas... 

Quelle est la différence entre l'image et le texte ? 

0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550 > raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022
31 juil. 2022 à 19:35

La différence principale, c'est que nous pouvons faire un copier/coller du texte, pas de l'image.

Peux-tu recopier ici le texte de la première ligne du message d'erreur?  Que ne comprends-tu pas?

0
raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022 63 > yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024
Modifié le 31 juil. 2022 à 19:39

Autant pour moi, voila le texte :

Notice: Undefined variable: accessToken in C:\wamp64\www\site\connexion.php on line 28Call Stack#TimeMemoryFunctionLocation10.0106363936{main}( )...\connexion.php:0

Notice: Undefined variable: accessToken in C:\wamp64\www\site\connexion.php on line 28
Call Stack
#	Time	Memory	Function	Location
1	0.0106	363936	{main}( )	...\connexion.php:0

^ """
Client error: `GET https://openidconnect.googleapis.com/v1/userinfo` resulted in a `401 Unauthorized` response:


{


  "error": "invalid_request",


  "error_description": "Invalid Credentials"


}


"""

Et bien je ne comprends pas le problème...Pourquoi mon AccessToken ne semble pas être valide ?

0
yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 1 550 > raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022
31 juil. 2022 à 19:50

Le message t'avertit qu'en ligne 28, la variable accessToken est indéfinie, elle ne contient aucune valeur.

Je pense que cet avertissement est utile, il peut expliquer pourquoi la suite ne se déroule pas comme tu l'espères.

0
raxos Messages postés 672 Date d'inscription lundi 29 décembre 2014 Statut Membre Dernière intervention 31 juillet 2022 63 > yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024
31 juil. 2022 à 19:53

Justement, c'est mon problème...Je ne vois pas pourquoi, puisque je lui passe des valeurs...

0