限制访问我的App Engine PHP应用程序以获取一组Google帐户?

时间:2016-06-21 22:21:41

标签: php google-app-engine

我是否有办法限制只对某些Google帐户持有人(当然是谁登录)访问我的App Engine PHP应用程序?附加要求是我的网站上的PHP脚本将通过AJAX调用。用户不要看到Google登录提示,因为他们是内部用户并且知道他们应该已经登录,这很好。

查看PHP app.yaml https://cloud.google.com/appengine/docs/php/config/appref#handlers_login和用户身份验证信息https://cloud.google.com/appengine/docs/php/users/#choosing_an_authentication_option我还不清楚如何实现这一点(除了对这些用户过于宽松的管理员角色)< / p>

谢谢, 亚历

2 个答案:

答案 0 :(得分:2)

一个非常粗略/简单的解决方案将实现如下:

在app.yaml中,添加类似这样的内容

- url: .*
  script: main.php
  login: required

然后在main.php中,像这样

$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
}

答案 1 :(得分:1)

您可以在验证时轻松使用oauth获取用户的电子邮件地址,并使用该地址允许一组电子邮件符合条件并为其他人提供oauthexception