将Google App Engine自定义子域名与用户关联
我有一个应用程序在GAE上运行,我想让用户能够使用他们自己的谷歌应用域名上的子域名(比如 myapp.example.com)来托管他们自己定制的版本的我的应用。
添加子域名其实很简单……只需要在他们的谷歌应用上通过ID添加应用,然后分配一个自定义的子域名就可以了。
但是因为我想让他们能够定制自己的网站,所以我想把这个自定义子域名和一个用户关联起来。这就涉及到安全问题,因为我不知道如何将设置了自定义子域名的人和登录到我应用的用户关联起来。
我觉得如果我加入应用市场($100),可能就可以做到……通过在安装过程中添加一个配置步骤,并要求提供一个管理员用户。有没有人做过这个?我需要加入市场吗?
我也可以要求管理员在域名的DNS中添加一个TXT记录,并确认她确实做了(就像谷歌验证域名的方式)。这必须在GAE之外完成,因为GAE的API不支持DNS查询。
需要注意的是,我不能仅仅通过用户登录时的域名后缀来匹配,因为同一个域名下可能有多个用户(比如user1@example.com
和user2@example.com
)在使用我的应用,而我只想允许设置了子域名的管理员能够定制这个子域名。
有没有人做过这个?有什么解决方案吗?
1 个回答
0
这件事有点棘手。你可以使用应用市场,没错,这样可以让管理员在设置之前提供一些配置信息。这可能是你最好的选择,而且还可以让更多用户使用你的应用,同时也能实现单点登录。
如果你不想这么做,还有几种方法可以让管理员证明他们拥有这个应用。你可以让他们在他们的www子域名(或者其他你应用不使用的子域名)上创建一个你指定的资源,给你一个网址。你也可以让他们把你的应用添加到他们的域名下两次,一次是在他们想要使用的域名下,另一次是在你自己想出来的一个验证子域名下。