繁体   English   中英

在Google App Engine中自定义登录

[英]Customize login in Google App Engine

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

是否可以在Google的默认登录屏幕上添加代码?

环境:Python(Google App Engine)

我想继续使用默认的Google ext class Users行为。

Nick Johnson最近发布了您可以使用的WSGI中间件的Alpha版本。 该API与应用引擎中的标准Users API非常相似。 这是一种通过OpenID支持身份验证的方式(Alex Martelli在他的回答中提出了建议)。 因此,您能够支持Google以及其他身份提供商。 如果您仅出于某种原因仅想支持Google帐户,则可以将其列入白名单。

尼克的博客公告还列出了一些需要考虑的事情(对您而言,这些可能会破坏交易):

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

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

如果要提供联合登录,则可能只需要将用户重定向到一个插页式页面,使他们可以选择标准的Google登录名或其他多种服务之一。

你可能会考虑的OpenID,通过任何不同的开源应用程序引擎项目的目的,比如这一个 Django的。

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

当然,使用这些方法创建自己的登录页面也不太困难,因为您从选择使用的“ OpenID使用者”的所有源开始。

我不知道您要支持的所有域是否都是OpenID提供程序(尽管我看不到为什么任何支持自己的用户登录的网站也都不是OpenID提供程序-这很容易,并且对用户更有价值才能在该站点上登录!-),但我希望这将带您实现目标!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM