限制App Engine对自定义域上的G Suite帐户的访问权限

nik*_*ola 5 python java google-app-engine google-cloud-platform

不久之前,Google Apps(现在称为G Suite)域的App Engine相关设置已移至Google Cloud Console.

截至目前,通过此Google Cloud控制台页面,记录了将App Engine实例的访问权限限制为关联G Suite用户的方法:

在此输入图像描述

当您点击该页面中的[编辑]时,在"Google身份验证"下,您可以在"Google帐户API"和"Google Apps域"(实际上应该称为"G Suite域")之间切换.

在此输入图像描述

该下拉列表下方有一个输入框,但没有解释应该在那里输入什么.通过反复试验,我发现它应该是相关G Suite的域名.

在部署到App Engine的最小Hello World应用程序中,我们将身份验证选项设置为:

login: required
Run Code Online (Sandbox Code Playgroud)

请注意,我们的应用程序的一些服务是用Python编写的,其他服务是用Java编写的.

通过[project-id] .appspot.com主机名访问App引擎实例工作正常,Google将提示相关G Suite上的凭据,并通过身份验证过程适当地重定向到目标路径名.

问题是,当通过自定义域访问App Engine实例时,身份验证根本不起作用.这将显示500,服务器日志显示为:

只有在通过该域的子域提供请求或已通过Google Apps控制台批准请求时,才能执行Google Apps域example.com的身份验证.请参阅https://developers.google.com/appengine/articles/auth

该错误消息中的链接页面不再存在,即它已被替换为一般描述身份验证的页面.从在线缓存中提取旧页面,我可以看到它描述了将Google App项目添加到Google Apps服务页面的旧Google Apps方式,但截至目前,此功能已被删除或迁移到Google Cloud Console.

对于它的价值,谷歌支持无法提供任何帮助,除了指向上面截屏页面的文档.

这里是否有人通过自定义域限制App Engine访问G Suite帐户?或者这个功能刚刚破裂?

特别是我正在寻找在Python和/或Java GAE应用程序环境中解决此问题的答案,以及演示如何在需要时以编程方式解决此问题的代码.

Ada*_*dam 5

这似乎是Google Apps域身份验证的一个已知问题,如果您将域添加到控制台的"自定义域"部分启用Google Apps域身份验证,则身份验证无效.

解决方法是从"自定义域"中删除自定义域映射,然后在为域启用Google Apps域身份验证后重新添加它.将更新文档页面使用自定义域和SSL以反映这一点.