Page 1 sur 1

Aide système de connexion / déconnexion via API twitch

Posté : 11 sept. 2019, 13:03
par Leptitsoo
Bonjour / Bonsoir,

Cela fait maintenant 2 ans que je fais du PHP, mais je suis loin d'être bon !! :cry:
Actuellement, j'essai de mettre en place un système de connexion via twitch sur un site. (aka le style de connexion via fb/gg/etc...)
J'ai donc réussi une grosse étape pour mes compétences, réussir à me connecter et obtenir mes premiers token ! :priere:

J'ai donc pour cela, utilisé ceci : https://github.com/twitchdev/authentica ... master/php et j'ai essayé de comprendre comment cela fonctionnait. Je l'ai modifié et j'ai donc mon bouton de connexion qui fonctionne correctement avec une redirection, et j'ai le retour de mon Token et Refresh Token ! (Je sais pas trop comment j'ai fais 8-| )
Cependant je suis maintenant à l'étape suivante qui est révoquer le token !

Vous trouverez mon code à télécharger sur ce lien : https://drive.google.com/file/d/12wGZaE ... sp=sharing

Les instructions pour révoquer le Token sont ici https://dev.twitch.tv/docs/authenticati ... ess-tokens

Et enfin, voici l'erreur que j'obtient en me connectant :
Catchable fatal error: Object of class GuzzleHttp\Psr7\Request could not be converted to string in C:\wamp64\www\LyssandraTV\includes\deconnexion.php on line 63.
Je ne cherche pas la solution, mais seulement quelqu'un pour m'aiguiller ! Si d'autre informations sont nécessaire, n'hésitez pas ! En attendant une âme charitable pour m'aider un peu, je retourne essayer de comprendre... :twisted:

Merci ! :D

Re: Aide système de connexion / déconnexion via API twitch

Posté : 11 sept. 2019, 22:15
par @rthur
Object could not be converted to string in deconnexion.php on line 63.
Il faut que tu regardes donc à la ligne 63 de ton fichier deconnexion.php pour voir ce que tu fais d'incorrect.
Le message d'erreur indique que tu essayes de faire une manipulation de string (genre un echo) sur une variable qui est un objet (et donc ne peut pas être manipulée comme une chaine de caractère).

Utilise la fonction var_dump() pour faire ton debugage et voir ce que contiennent tes variables.
https://php.net/var_dump

Re: Aide système de connexion / déconnexion via API twitch

Posté : 12 sept. 2019, 10:09
par Leptitsoo
object(GuzzleHttp\Psr7\Request)[31]
private 'method' => string 'POST' (length=4)
private 'requestTarget' => null
private 'uri' =>

object(GuzzleHttp\Psr7\Uri)[23]
private 'scheme' => string 'https' (length=5)
private 'userInfo' => string '' (length=0)
private 'host' => string 'id.twitch.tv' (length=12)
private 'port' => null
private 'path' => string '/oauth2/revoke' (length=14)
private 'query' => string 'client_id=87ejoyglrqywow7e2w0zsqul3ly2hb%3E&token=31e4cvzvwaxx6goj9tbn0t8voj9d6q' (length=80)
private 'fragment' => string '' (length=0)
private 'headers' =>

array (size=4)
'Host' =>
array (size=1)
0 => string 'id.twitch.tv' (length=12)

'Client-ID' =>
array (size=1)
0 => string '87ejoyglrqywow7e2w0zsqul3ly2hb' (length=30)

'Accept' =>
array (size=1)
0 => string 'application/vnd.twitchtv.v5+json' (length=32)

'Authorization' =>
array (size=1)
0 => string 'Bearer 31e4cvzvwaxx6goj9tbn0t8voj9d6q' (length=37)
private 'headerNames' =>
array (size=4)
'client-id' => string 'Client-ID' (length=9)
'accept' => string 'Accept' (length=6)
'authorization' => string 'Authorization' (length=13)
'host' => string 'Host' (length=4)
private 'protocol' => string '1.1' (length=3)
private 'stream' => null
Voici ce que le Var-dump() me retourne, cependant je ne comprends pas vraiment. Il est évident que echo cela ne va pas marcher. Mais sachant que j'essaie juste de révoquer mon Token.

Sur la documentation, il est donc écris qu'il suffit d'envoyer une requête du type :
POST https://id.twitch.tv/oauth2/revoke
?client_id=<your client ID>
&token=<your OAuth token>
C'est donc se que j'ai essayé de faire, d'où mon code :
$deconnexion = $provider->getAuthenticatedRequest(
'POST',
'https://id.twitch.tv/oauth2/revoke?clie ... hb>&token='. htmlspecialchars($accessToken->getToken()),
$accessToken
);
Vous auriez une petite idée ? Cela fait donc 3 jours que je suis dessus, et impossible de comprendre où est mon erreur #-o 8-|

Re: Aide système de connexion / déconnexion via API twitch

Posté : 15 sept. 2019, 11:22
par @rthur
Quel est la ligne 63 ?
Que donne un var_dump() des variables utilisées sur cette ligne ?

Re: Aide système de connexion / déconnexion via API twitch

Posté : 16 sept. 2019, 10:50
par Leptitsoo
Bonjour ! :lol:

Du coup j'ai donc ceci à la ligne 63 :
echo "<a href=\"$deconnexion\">
Sachant que le $deconnexion correspond à :
$deconnexion = $provider->getAuthenticatedRequest(
'POST',
'https://id.twitch.tv/oauth2/revoke?clie ... hb>&token='. htmlspecialchars($accessToken->getToken()),
$accessToken
);
Et si je fais un var_dump de tout cela, on obtient la grande quote de mon dernier post, soit:
object(GuzzleHttp\Psr7\Request)[31]
private 'method' => string 'POST' (length=4)
private 'requestTarget' => null
private 'uri' =>

object(GuzzleHttp\Psr7\Uri)[23]
private 'scheme' => string 'https' (length=5)
private 'userInfo' => string '' (length=0)
private 'host' => string 'id.twitch.tv' (length=12)
private 'port' => null
private 'path' => string '/oauth2/revoke' (length=14)
private 'query' => string 'client_id=87ejoyglrqywow7e2w0zsqul3ly2hb%3E&token=31e4cvzvwaxx6goj9tbn0t8voj9d6q' (length=80)
private 'fragment' => string '' (length=0)
private 'headers' =>

array (size=4)
'Host' =>
array (size=1)
0 => string 'id.twitch.tv' (length=12)

'Client-ID' =>
array (size=1)
0 => string '87ejoyglrqywow7e2w0zsqul3ly2hb' (length=30)

'Accept' =>
array (size=1)
0 => string 'application/vnd.twitchtv.v5+json' (length=32)

'Authorization' =>
array (size=1)
0 => string 'Bearer 31e4cvzvwaxx6goj9tbn0t8voj9d6q' (length=37)
private 'headerNames' =>
array (size=4)
'client-id' => string 'Client-ID' (length=9)
'accept' => string 'Accept' (length=6)
'authorization' => string 'Authorization' (length=13)
'host' => string 'Host' (length=4)
private 'protocol' => string '1.1' (length=3)
private 'stream' => null

Re: Aide système de connexion / déconnexion via API twitch

Posté : 16 sept. 2019, 14:26
par or 1
tout a été dit :
"Il faut que tu regardes donc à la ligne 63 de ton fichier deconnexion.php pour voir ce que tu fais d'incorrect.
Le message d'erreur indique que tu essayes de faire une manipulation de string (genre un echo) sur une variable qui est un objet (et donc ne peut pas être manipulée comme une chaine de caractère)."