因此,我正在學習如何使用Google的Oauth系統來允許用戶使用他們的Google帳戶登錄。我一直在使用這個追索書here:在我的網站上實現它。爲什麼我的Google登錄會話在某些頁面上過期而沒有其他頁面?
所以我的測試頁上,當我嘗試登錄,然後更改頁面,用戶仍然登錄成功。
然而,當我再從測試頁的PHP代碼,把它放在我的世界頭 - 當用戶試圖訪問相同的鏈接。一旦用戶登錄,一旦他們去到另一個頁面,他們會自動註銷。
test2頁面上的代碼與其索引頁面示例完全相同。在我的頭文件中,我已將它添加到我的導航欄中,因此當用戶在導航欄上按下「登錄」時,登錄按鈕位於模式內。
在測試2中使用的鏈接是在我的頭中使用的相同:
<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>
我已經使用這個如果檢查語句,如果用戶登錄如果他們登錄它會顯示與帳戶選項的下拉菜單,否則會顯示登錄按鈕,它會打開模式。也許這是問題,而不是他們的會話過期,可能真的我正在檢查錯誤的功能?
<?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 } ?>
的完整標題代碼在這裏可以看到,如果將幫助:https://hastebin.com/izihuhavep.scala