【问题标题】:Restrict App Engine access to G Suite accounts on custom domain限制 App Engine 访问自定义域上的 G Suite 帐户
【发布时间】:2017-06-16 01:42:19
【问题描述】:

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

截至目前,已记录的限制关联 G Suite 用户访问 App Engine 实例的方法是通过此 Google Cloud Console 页面:

当您点击该页面中的 [编辑] 时,在“Google 身份验证”下,您可以在“Google Accounts 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 控制面板获得批准时,才能对 Google Apps 域 example.com 执行身份验证。见https://developers.google.com/appengine/articles/auth

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

对于它的价值,除了指向我上面截图页面的文档之外,Google 支持无法提供任何帮助。

这里有没有人设法通过自定义域限制 App Engine 对 G Suite 帐户的访问?还是这个功能刚刚坏掉了?

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

【问题讨论】:

  • 服务是否产生了用 python 或 java 编写的特定 500 错误?
  • 我们遇到错误的特定服务是用 Python 编写的,但如果事实证明限制对 G Suite 帐户的访问仅适用于 Java 应用程序,我们将迁移。因此问题的范围很广。
  • 从截图中看不清楚,但您是否也有在“自定义域”下列出的 G Suite 域,并且您是通过自定义域而不是 apppot 向应用程序发出请求.com 域?
  • 两者都同意,实际上我在文中提到了这一点。
  • 此身份验证是否仅适用于我可以在处理程序中设置loginfield 的标准 GAE?我想在灵活的 GAE 中使用这种机制,但目前它不起作用。我的页面向所有人广泛开放。

标签: java python google-app-engine google-cloud-platform


【解决方案1】:

这似乎是 Google Apps 域身份验证的一个已知问题,如果您启用 Google Apps 域身份验证域被添加到控制台。

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

【讨论】:

  • 谢谢,看来已经修好了!刚刚使用我们的开发实例进行了测试,服务器错误消失了,并且对托管域的约束有效。剩下的一个装饰性问题是 Google 的身份验证会提示输入针对我们域的凭据,但会接受非高清帐户的用户名/密码,并且只有在完成身份验证后才会重定向到用户名提示。我猜那是因为在身份验证之后,Google 才能检测到该帐户的位置,对吗?
  • 根据您的描述,我实际上并不清楚发生了什么。这可能最好作为一个新问题发布,这样您就可以提供上下文的屏幕截图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 2019-07-15
  • 2020-11-28
  • 2012-06-10
  • 1970-01-01
相关资源
最近更新 更多