有没有Python的OpenID应用发现库用于将App Engine应用添加到应用市场?
我想了解如何把一个谷歌应用引擎的应用放到新发布的谷歌应用市场上。
这个页面 http://code.google.com/googleapps/marketplace/sso.html 上没有提供一个适用于Python的 OpenID 应用发现库,这似乎是个难点。
有没有人把应用引擎的应用移植到市场上?或者知道有没有Python的OpenID应用发现库?或者有关于这个的时间表吗?
更新:请查看关于标准Python OpenID库和支持“应用发现”的库的评论。
更新:显然目前还不可能,不过很快就会实现,详情请见 http://www.google.com/support/forum/p/apps-apis/thread?tid=52e36f012c2436c3&hl=en
2 个回答
这个python-openid库似乎支持发现功能。
我在Google apps登录在django上回答过一个几乎相同的问题,可以去看看。
编辑:
其实,你的问题可以分成两个相关的问题。
- 如何为Google市场构建一个应用?
- 如何用Google Apps账户登录你的应用?
你其实不一定要用Google Apps进行身份验证。但是,因为用户已经有了Google Apps账户,允许他们用现有账户登录会更方便,而不是从头开始自己做用户管理模块。
关于第一个问题,当你在Google市场注册你的应用时,你需要提供一个登录网址。这个网址的格式大概是http://yourdomain.com/auth/domain.com。这里的domain.com是选择安装你应用的组织的域名。当一个组织安装了你的应用,他们会用这个登录网址作为入口。你的应用会决定如何处理这个请求。通常情况下,你会把用户重定向到登录页面。因为你希望用户用他们的Google Apps账户登录,所以你可以生成登录请求,并把用户重定向到Google的服务器。这部分和第二个问题有关。
对于第二个问题,你可以通过实现Google的AuthSub或OpenID认证机制,让用户用他们的Google Apps账户登录你的应用。既然你在问关于openid的库,我猜你是选择了openid。如果你想用openid进行认证,你需要关注Google的自定义发现方法,这个方法不在标准库里。想了解更多信息,可以看看我在另一个问题中的回答。
我刚把我修补过的python-openid-2.2.4版本上传到github了。这里是链接:http://github.com/adieu/python-openid/
顺便说一下,你其实不需要让用户在他们的服务器上放什么文件。但如果他们这样做了,他们可以更改默认的openid认证后端服务器。
也许我应该写一篇博客来讨论这个问题 :)