不久前,Google Apps(现在称为G Suite)域的App Engine相关设置已移至Google Cloud Console。
截至目前,已记录的限制对相关G Suite用户访问App Engine实例的方法是通过此Google云端控制台页面:
当您点击该页面中的[编辑]时,在“Google身份验证”下,您可以在“Google帐户API”和“Google Apps域”(实际上应该称为“G Suite域”)之间切换。
该下拉列表下方有一个输入框,但没有解释应该在那里输入什么。通过反复试验,我发现它应该是相关G Suite的域名。
在部署到App Engine的最小Hello World应用程序中,我们将身份验证选项设置为:
login: required
请注意,我们的应用程序的某些服务是用Python编写的,其他服务是用Java编写的。
通过[project-id] .appspot.com主机名访问App引擎实例工作正常,Google将提示相关G Suite上的凭据,并通过身份验证过程适当地重定向到目标路径名。
问题是,当通过自定义域访问App Engine实例时,身份验证根本不起作用。这将显示500,服务器日志显示为:
Google Apps域example.com的身份验证只能在从该域的子域提供请求或已通过Google Apps控制台批准的请求时执行。见https://developers.google.com/appengine/articles/auth
该错误消息中的链接页面不再存在,即它已被替换为一般描述身份验证的页面。从在线缓存中提取旧页面,我可以看到它描述了将Google App项目添加到Google Apps服务页面的旧Google Apps方式,但截至目前,此功能已被删除或迁移到Google Cloud Console。 / p>
对于它的价值,谷歌支持无法提供任何帮助,除了指向我上面截屏页面的文档。
此处是否有人通过自定义域限制App Engine访问G Suite帐户?或者这个功能刚刚破裂?
特别是我正在寻找在Python和/或Java GAE应用程序环境中解决此问题的答案,以及演示如何在需要时以编程方式解决此问题的代码。
答案 0 :(得分:5)
这似乎是Google Apps域身份验证的一个已知问题,如果您将域名添加到“自定义域名”后启用Google Apps域身份验证,则身份验证无效39;控制台部分。
解决方法是从“自定义域”中删除自定义域映射,然后在为域启用Google Apps域身份验证后重新添加该映射。文档页面Using Custom Domains and SSL将更新以反映这一点。