Vous ne pouvez accéder directement à cette page – HybridAuth Social Login

J'utilise le plugin social HybridAuth dans mon site Web pour me connecter à partir de Facebook et d'autres sites Web,

Tout fonctionne bien, mais lorsque j'ai vérifié sur d'autres ordinateurs, il y a une erreur:

Vous ne pouvez pas accéder directement à cette page

Et j'ai remarqué que l'erreur survient lorsque le navigateur utilise WWW dans la barre d'adresse, le navigateur sur le même ordinateur, par exemple: l'opéra n'utilise pas le www donc il n'y a pas d'erreur sur ce navigateur.

Aidez-moi à réparer cette erreur pour que la connexion puisse être effectuée à partir de n'importe quel navigateur.

Le reasen est parce que le rappel de Facebook dans différentes sessions php et ne peut pas accéder aux informations de configuration de la session appelante. Regardez Endpoint.php si (! $ Storage-> config ("CONFIG")) … Le rason était parce que j'utilise dans mon site avec 127.0.0.1 mais return_uri était avec localhost à cause des restrictions de Facebook. PHP crée différentes sessions dans ce cas.

Ajoutant "www". À l'URL résout le problème.

Après avoir ajouté ceci au dessus de mon contrôleur, il a commencé à fonctionner

 if (session_status() == PHP_SESSION_NONE) { @session_id($_COOKIE['CAKEPHP']); @session_start(); @session_name('CAKEPHP'); } 

Lisez ici https://github.com/hybridauth/CakePHP-HybridAuth/pull/1

Ceux qui font face à un message d'erreur "Vous ne pouvez pas accéder directement à cette page".

Essayez après avoir ajouté @session_start(); Déclaration en haut de vos fichiers.

Cela pourrait être lié en utilisant un gestionnaire de session personnalisé qui est défini par session_set_save_handler() . J'ai résolu ce problème en ajoutant notre propre gestionnaire de session personnalisé au sommet d' hybridauth/index.php (situé dans le même config.php que config.php et live.php ). Cela force Hybrid Auth à utiliser votre gestionnaire de session personnalisé.