所以我正在学习如何使用Google的Oauth系统来允许用户使用他们的Google帐户登录。我一直在使用此追索权here:在我的网站上实施它。
因此,当我尝试登录然后更改页面时,在我的测试页面上,用户仍然成功登录。
但是,当我从测试页面获取PHP代码时,将其放在我的全局标题中 - 当用户尝试访问同一链接时。一旦用户登录,一旦他们转到另一个页面,他们就会自动登出。
test2页面上的代码与其索引页面示例完全相同。在我的标题上,我已将其添加到我的导航栏中,因此当用户按下导航栏上的“登录”时,登录按钮位于模态内。
test2中使用的链接与我的标题中使用的链接相同:
<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>
&#13;
我已使用此if语句检查用户是否已登录。如果他们已登录,则会显示带有帐户选项的下拉列表,否则会显示登录按钮以打开模式。也许这就是问题,而不是他们的会议到期,我真的可以检查错误的功能吗?
<?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 } ?>
&#13;
如果有帮助,可以在此处看到完整的标题代码:https://hastebin.com/izihuhavep.scala
答案 0 :(得分:0)
好的,我设法修复它,出于某种原因,当创建会话的PHP代码在头部时它不起作用。不知道为什么,但当我把它移到头顶以上时它完美地工作了:)