2012-04-02 134 views
0

我正在使用Python/Django-nonrel。我希望創建一個網站,使用腳本(python代碼)驗證/登錄一個OpenID url /密碼的用戶,而不是手動登錄。這是可行的嗎?謝謝。OpenID Python直接登錄腳本

+0

OpenID身份URL不是用戶名。沒有URL /密碼認證。你想做什麼? – 2012-04-02 04:14:01

+0

感謝您的回答。我試圖允許一個腳本(一個http請求,而不是一個人類用戶)通過他的openid /密碼來訪問我的站點,如果驗證的話,獲取這個用戶存儲在站點中的文件。無論如何,我可以做到這一點?謝謝。 – 2012-04-02 19:48:04

回答

1

是的,可以使用OpenID從腳本進行身份驗證,儘管如果您不習慣OpenID工作流程,它會比您想象的要複雜一些。

只記得OpenID是一個三方認證機制。所涉及的三方是:

  1. 的OpenID的最終用戶:您的Python腳本
  2. 的OpenID的消費者:即提供資源
  3. 的OpenID的身份提供Web服務器:在您驗證(例如myOpenID來說,雅虎,等)

重要:的OpenID的工作流程的全部目的就是你永遠,永遠交流與提供resourc Web服務器密碼e(#2)!您必須登錄到另一個網站(例如MyOpenID)以證明您的身份。

因此,將OpenID工作流作爲腳本的一部分來實施的關鍵是使用一種web自動化工具,該工具可以對cookie進行修復並遵循重定向。機械化Python] 1是一個高級工具,可以方便地實現這個典型的用戶Agen(瀏覽器)邏輯的大部分。


請記住,一旦Web服務器(#2)用戶代理(#1)重定向到身份提供者(#3)網站,會有一些涉及身份提供的腳本。該提供程序特定的腳本通常是您要輸入用戶名/密碼組合以證明您擁有身份URL的位置。

完成此操作後,身份提供者(#3)會將您的用戶代理重定向回到Web服務器(#2),此時Web服務器將爲該資源提供服務(或將您重定向到服務的URL請求的資源)。因此,假設您有一個實現大多數典型用戶代理邏輯(例如重定向和cookie)的高級對象,其餘部分應該相當簡單。

+0

嗨安德烈,非常感謝您的幫助。我會嘗試機械化。有沒有可能找到一個類似的例子?如果不是的話,我會試着逐漸弄清楚整個事情。 – 2012-04-02 22:47:53