2016-06-21 80 views
0

有没有一种方法可以限制我的App Engine PHP应用程序仅用于某些Google帐户持有者(当然是登录的)?额外的要求是我的网站上的PHP脚本将通过AJAX调用。用户不会看到Google登录提示符,因为他们是内部用户,并且会知道他们应该已经登录。限制对我的App Engine PHP应用程序访问一组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我wasn'牛逼清楚如何可以这样(除了对管理角色这是过于放任这些用户)实现

谢谢, 亚历克斯

回答

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(), ['[email protected]', '[email protected]'])) { 
     // OK, user is allowed 
    } else { 
     // Logged in, but UNKNOWN user 
    } 
} else { 
    // User not logged in 
} 
+0

看起来不错,谢谢 –

1

您可以轻松地使用OAuth获取用户的电子邮件地址,而认证和使用允许一组电子邮件为其他人提供资质和提升oauthexception

+0

谢谢。你的意思是按照汤姆的例子或者其他方式? –

+0

汤姆使用appengine构建的方式来确保表单记录机制的URL,它不是oauth,但会工作以及我想。 Oauth对谷歌帐户的工作有点麻烦,但它的确是你的选择。 – varun

相关问题