2017-03-17 2 views
1

Also lerne ich, wie man das Oauth-System von Google benutzt, um Nutzern zu erlauben, sich mit ihrem Google-Konto anzumelden. Ich benutze diesen Rückgriff here: um es auf meiner Website zu implementieren.Warum läuft meine Google Login-Sitzung auf einigen Seiten ab, aber nicht auf anderen?

Also auf meiner Testseite, wenn ich versuche jedoch

erfolgreich angemeldet um sich einzuloggen und dann Seiten ändern, wird der Benutzer nach wie vor in. Wenn ich den PHP-Code von der Testseite dann nehmen, legen Sie sie in meinem globalen header - wenn der Benutzer versucht, auf denselben Link zuzugreifen. Sobald sich der Benutzer anmeldet, werden sie automatisch ausgeloggt, sobald sie sich auf einer anderen Seite befinden.

Der Code auf der Test2-Seite entspricht genau dem Indexseitenbeispiel. In meiner Kopfzeile habe ich sie in meine Navigationsleiste eingefügt, so dass sich die Login-Schaltfläche innerhalb des Modals befindet, wenn der Benutzer in der Navigationsleiste Anmelden drückt.

Der Link in test2 ist die gleiche in meinem Header verwendet.

<a class="btn btn-block btn-social btn-google" <?php echo "href='".filter_var($authUrl, FILTER_SANITIZE_URL)."'" ?>> 
 
    <span class="fa fa-google"></span> Sign in with Google 
 
    </a>

ich diese verwendet haben if-Anweisung, wenn der Benutzer zu überprüfen ist angemeldet Wenn sie angemeldet sind Es wird das Dropdown-Menü mit den Kontooptionen angezeigt, ansonsten wird der Login-Button angezeigt, der das Modal öffnet. Vielleicht ist das das Problem, anstatt dass ihre Sitzung abläuft, könnte es wirklich sein, dass ich die falsche Funktion überprüfe?

<?php if ($gClient->getAccessToken()) { ?> 
 

 
<div class="dropdown"> 
 
    <button class="btn btn-default dropdown-toggle" type="button" id="accountmenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> 
 
<?php echo $gpUserProfile['given_name'] ?> 
 
    <span class="caret"></span> 
 
    </button> 
 
    <ul class="dropdown-menu" id="accountdropdown" aria-labelledby="dropdownMenu1"> 
 
    <li><a href="/user/bookmarks">Bookmarks</a></li> 
 
    <li><a href="#">Settings</a></li> 
 
    <li role="separator" class="divider"></li> 
 
    <li><a href="/logout">Logout</a></li> 
 
    </ul> 
 
</div> 
 
<?php } else { ?> 
 
<a class="btn btn-default" data-toggle="modal" data-target="#login-modal" id="login">Sign In</a> 
 
<?php } ?>

Der vollständige Code-Header kann hier gesehen werden, wenn helfen würde: https://hastebin.com/izihuhavep.scala

Antwort

0

Okay, ich es geschafft, es zu beheben, aus irgendeinem Grund, wenn der PHP-Code eine Sitzung zu erstellen, ist in der Kopf funktioniert nicht. Nicht sicher warum, aber als ich es über den Kopf bewegte, funktionierte es perfekt :)

Verwandte Themen