我最近部署了一个GAE应用程序(即http://www.stashboard.org/),以帮助管理我公司的应用程序池。
为了不发布池的状态,每个人(客户,其他公司......)我希望只允许那些使用公司帐户登录的人(即:user@mycompany.com)。
域名“mycompany.com”不受谷歌管理。
当我将身份验证类型设置为“Google Apps域”时,我无法再登录该应用,而是收到错误500:
错误:服务器错误
服务器遇到错误,无法完成您的请求。 如果问题仍然存在,请报告您的问题并提及此问题 错误消息和导致它的查询。
记录以下错误:
2013-10-21 14:42:57.856 / admin 500 55ms 0kb Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 30.0.1599.101 Safari / 537.36 194.206.149.66 - - [21 / Oct / 2013:05:42:57 -0700]“GET / admin HTTP / 1.1”500 0 - “Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36 (KHTML,像Gecko一样)Chrome / 30.0.1599.101 Safari / 537.36“ “xxxxxx.appspot.com”ms = 56 cpu_ms = 0 app_engine_release = 1.8.6 W 2013-10-21 14:42:57.856
Google Apps域的身份验证 mycompany.com只能在从a提供请求时执行 该域名的子域名或已通过Google批准 应用控制面板。看到 https://developers.google.com/appengine/articles/auth
链接文档对我没什么帮助,负责Google Apps的管理员在控制面板中找不到如何“批准”域名(appspot.com)。
仅供参考:这是我第一次与GAE合作,这让我成为公司中经验最丰富的GAE用户......所以,我们在这里一点都不知道。
答案 0 :(得分:2)
为了实现这一点并使其正常运行,我认为您必须将此Google App Engine应用添加到您的Google Apps域信息中心。为此,您必须先使用Google Apps管理mycompany.com域。之后,如果你转到https://appengine.google.com>找到您的应用>应用程序设置>添加域并按照其中的步骤进行操作。
在Google Apps信息中心中看到您的GAE应用后,您可能还需要在app.yaml
中添加一些内容以限制您的用户:
- url: .*
script: main.py
login: required
重新部署应用后,访问权限应仅限于您所需的域名。