2

我需要为登录添加更多选项,因此需要使用一些 HTML 代码自定义 create_login_url。

有没有办法在 Google 的默认登录屏幕中添加您的代码?

环境:Python(谷歌应用引擎)

我想继续使用默认的 Google ext 类用户行为。

4

3 回答 3

2

Nick Johnson 最近发布了一个可以使用的WSGI 中间件的 alpha 版本。该 API 与应用引擎中的标准用户 API 非常相似。这是一种通过 OpenID 支持身份验证的方法(Alex Martelli 在他的回答中提出的建议)。因此,您可以支持 Google 作为身份提供者以及其他人。如果您出于某种原因只想支持 Google 帐户,那么您当然只能将它们列入白名单。

Nick 的博客公告还列出了一些需要考虑的事项(这些可能会影响您的交易):

  • 用户由其 OpenID 端点唯一标识。
  • 如果不指定 OpenID URL,则无法构造 User 对象。
  • 昵称和电子邮件地址是用户提供的,因此不能保证它们是唯一的或经过验证的。
  • is_current_user_admin() 尚未实现。
  • login: app.yaml 中的子句不受 AEoid 影响 - 它们仍然使用常规用户 API 进行身份验证。
于 2009-12-23T13:04:31.110 回答
2

您无法自定义登录页面。允许您这样做会引入 XSS 漏洞的可能性,并使用户更难识别合法登录页面。

如果您想提供联合登录,您可能只想将用户重定向到允许他们选择标准 Google 登录或许多其他服务之一的插页式页面。

于 2009-06-15T08:50:51.270 回答
1

您可以通过各种开源应用程序引擎项目中的任何一个来考虑使用 OpenID,例如针对Django 的项目。

您不能将现有的用户模块与这些模块一起使用(可能会进行一些严重的黑客攻击,但我没有尝试过这样的壮举,也不一定会推荐它们;-),但是有问题的各种项目往往会提供可用的替代品。

当然,使用这些方法制作您自己的登录页面也不难,因为您从您选择使用的“OpenID 消费者”的所有来源开始。

我不知道您要支持的所有域是否都是 OpenID 提供者(尽管我不明白为什么任何支持其自己的用户登录的网站也不会是 OpenID 提供者——这很容易,并且对用户更有价值在该站点上登录!-),但我希望这将带您朝着目标迈进!

于 2009-06-18T04:20:43.003 回答