我是否有办法限制只对某些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>
谢谢, 亚历
答案 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