限制对一组Google帐户访问我的应用程序引擎PHP应用程序?

限制对一组Google帐户访问我的应用程序引擎PHP应用程序?,php,google-app-engine,Php,Google App Engine,有没有一种方法可以限制我的应用程序引擎PHP应用程序的访问权限仅限于特定的一组谷歌帐户持有人(当然是在登录时)?另外一个要求是,我网站上的PHP脚本将通过AJAX调用。用户可以不看到Google登录提示,因为他们是内部用户,并且知道他们应该已经登录了 查看PHP app.yaml和用户身份验证信息,我不清楚如何实现这一点(除了管理员角色对这些用户过于宽容) 谢谢, Alex您可以在身份验证时轻松使用oauth获取用户的电子邮件地址,并使用该地址允许一组电子邮件限定并引发oauth对其他人的例外情

有没有一种方法可以限制我的应用程序引擎PHP应用程序的访问权限仅限于特定的一组谷歌帐户持有人(当然是在登录时)?另外一个要求是,我网站上的PHP脚本将通过AJAX调用。用户可以不看到Google登录提示,因为他们是内部用户,并且知道他们应该已经登录了

查看PHP app.yaml和用户身份验证信息,我不清楚如何实现这一点(除了管理员角色对这些用户过于宽容)

谢谢,
Alex

您可以在身份验证时轻松使用oauth获取用户的电子邮件地址,并使用该地址允许一组电子邮件限定并引发oauth对其他人的例外情况

您可以轻松使用oauth在身份验证时获取用户的电子邮件地址,并使用该地址允许一组电子邮件限定并引发oauth对其他人的例外情况

a非常粗糙/简单的解决方案将按如下方式实施:

在app.yaml中,添加如下内容

- url: .*
  script: main.php
  login: required
$user = \google\appengine\api\users\UserService::getCurrentUser();
if($user) {
    if(in_array($user->getEmail(), ['user1@domain.com', 'user2@domain.com'])) {
        // OK, user is allowed
    } else {
        // Logged in, but UNKNOWN user
    }
} else {
    // User not logged in
}
然后在main.php中,类似这样的内容

- url: .*
  script: main.php
  login: required
$user = \google\appengine\api\users\UserService::getCurrentUser();
if($user) {
    if(in_array($user->getEmail(), ['user1@domain.com', 'user2@domain.com'])) {
        // OK, user is allowed
    } else {
        // Logged in, but UNKNOWN user
    }
} else {
    // User not logged in
}

一个非常粗糙/简单的解决方案如下:

在app.yaml中,添加如下内容

- url: .*
  script: main.php
  login: required
$user = \google\appengine\api\users\UserService::getCurrentUser();
if($user) {
    if(in_array($user->getEmail(), ['user1@domain.com', 'user2@domain.com'])) {
        // OK, user is allowed
    } else {
        // Logged in, but UNKNOWN user
    }
} else {
    // User not logged in
}
然后在main.php中,类似这样的内容

- url: .*
  script: main.php
  login: required
$user = \google\appengine\api\users\UserService::getCurrentUser();
if($user) {
    if(in_array($user->getEmail(), ['user1@domain.com', 'user2@domain.com'])) {
        // OK, user is allowed
    } else {
        // Logged in, but UNKNOWN user
    }
} else {
    // User not logged in
}

谢谢你的意思是,根据Tom下面的例子,或者其他一些方式?Tom正在使用appengine内置方式来保护带有表单日志机制的url,它不是oauth,但我想它也会工作得很好。Oauth对谷歌账户的操作有点麻烦,但这确实是你的选择。谢谢。你的意思是,根据Tom下面的例子,或者其他一些方式?Tom正在使用appengine内置方式来保护带有表单日志机制的url,它不是oauth,但我想它也会工作得很好。Oauth对谷歌账户的操作有点麻烦,但这确实是你的选择。