2011-03-11 116 views
3

我有一个应用程序在GAE上运行,并希望允许用户使用自己的子域名google app domain(例如myapp.example.com)来托管他们自己的自定义版本我的应用程序。将Google App Engine自定义子域名与用户关联

在他们的Google应用上添加子域...只需add the app by id很简单,并为其分配一个自定义子域。

但由于我想给他们定制他们的网站的能力,我想将自定义子域与用户相关联。这成为一个安全问题,因为我不知道如何将设置自定义子域名的用户与登录到我的应用的用户相关联。

我想我可以做到这一点,如果我加入应用程序市场($100)...在安装中添加一个configuration step并询问管理员用户。有没有人做过这个?我需要成为市场的一部分吗?

我也可以让管理员向该域的DNS添加TXT条目,并验证她是否这样做了(与Google验证域的方式相同)。这必须在GAE之外完成,因为GAE API doesn't support DNS queries

请注意,我不能只从一个域匹配,因为多个用户在用户登录域结尾(例如[email protected][email protected])可能会使用我的应用程序,我只希望允许管理员安装程序的子域能够自定义该子域。

有没有人这样做?任何解决方案

回答

0

这很难。你可以使用Apps Marketplace,你说得对,它允许你在设置之前从管理员那里请求配置信息。这可能是您的最佳选择,也可以让您将应用展示给更多的用户,并使单点登录成为可能。

如果你不想这样做,有几种方法可以要求管理员证明所有权。您可以要求他们使用您在www子域中指定的URL创建资源(或者您的应用没有发布的任何其他子域)。您还可以让他们将您的应用程序添加到域中两次,一次在他们想要发送的域名下,另一次在您组成的验证子域下。

+0

我喜欢你的想法的验证子域(因为他们已经创建子域),而不是TXT DNS记录。另外,我可以轻松地检查它;他们只是将它添加为我的应用程序的子域名,并且我可以从GAE到该子域名执行一个简单的urlfetch,并看到我受到了...很好,很简单。 – Amir 2011-03-11 19:33:37

相关问题