【问题标题】:How to automatically log out from Google App Engine application after logging out of Gmail退出 Gmail 后如何自动退出 Google App Engine 应用程序
【发布时间】:2014-04-12 10:38:01
【问题描述】:

我在 PHP 中使用 App Engine 用户服务 API。我的应用程序需要身份验证。登录身份验证工作正常,但是当我注销我的 Gmail 帐户时,我的应用程序仍然显示用户已登录。

如何确保在退出 Gmail 帐户的同时也退出应用?

<?php
use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
$user = UserService::getCurrentUser();

if ($user) 
{
    #perform action
}
else 
{
    header('Location: ' . UserService::createLoginURL($_SERVER['REQUEST_URI']));
}

【问题讨论】:

    标签: php google-app-engine


    【解决方案1】:

    这是不可能的。

    当您在 App Engine 上使用用户服务 API 时,它会根据您的 Google 帐户对您进行身份验证,并在您的 App Engine 服务器上创建一个“会话”。这一切都由 API 无缝处理。身份验证后,您将独立地向 App Engine 服务器进行身份验证。因此,退出您的 Google 帐户不会影响您的 App Engine 会话。

    但是,这确实可以反过来(即退出您的 App Engine 将使您退出您的 Google 帐户),因为该操作是从您的 App Engine 帐户触发的。

    【讨论】:

    • 那么这是否意味着如果我的应用程序中有一个注销按钮并从他们的应用程序中注销,那么这将起作用吗?
    • 如果您在应用中放置了一个注销按钮,并且该按钮会重定向到调用 createLogoutURL 方法生成的 URL,那么它也会将用户从他们的 Google 帐户中注销
    • 如果这对您来说真的很重要并且您正在使用 Google Apps for business,有一个可能的解决方法:您可以在 SSO 设置中自定义注销 URL(无需启用 SSO)。您可以在此处设置应用程序的注销 URL 或为所有应用程序实现一种“单次注销”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多