簡體   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