我在Google Apps login in django回答了一个几乎相同的问题。一探究竟。
编辑:
实际上,您的问题可以分为两个相关的问题。
- 如何为 Google Marketplace 构建应用程序?
- 如何使用 Google Apps 帐户进行身份验证以登录您的应用程序?
您实际上不必通过 Google Apps 进行身份验证。但是由于您的用户已经拥有 Google Apps 帐户,因此最好让用户使用他们现有的帐户登录,而不是从头开始构建您自己的用户管理模块。
对于第一个问题,当您在 Google Marketplace 上注册您的应用程序时,您需要提供您的登录 URL。它采用http://yourdomain.com/auth/domain.com格式。domain.com 部分是选择安装您的应用程序的组织的域名。当一个组织安装您的应用程序时,他们将使用该登录 url 作为入口点。由您的应用程序决定如何处理请求。通常,您将用户重定向到登录页面。由于您希望用户使用他的 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 身份验证后端服务器。
也许我应该写一篇关于这个问题的博客文章:)