2010-01-29 68 views
4

我試圖用django-openid和openid來設置一個應用程序。 我收到以下錯誤,我無法弄清楚是什麼導致了他們。這個Openid錯誤是什麼意思:嘗試使用存儲的發現信息時出錯

[Fri Jan 29 13:29:20 2010] [error] Generated checkid_setup request to https://www.google.com/accounts/o8/ud with assocication XXXXXXXXXXXXXX 
[Fri Jan 29 13:29:26 2010] [error] Error attempting to use stored discovery information: <openid.consumer.consumer.TypeURIMismatch: Required type http://specs.openid.net/auth/2.0/signon not found in ['http://specs.openid.net/auth/2.0/server', 'http://openid.net/srv/ax/1.0', 'http://specs.openid.net/extensions/ui/1.0/mode/popup', 'http://specs.openid.net/extensions/ui/1.0/icon', 'http://specs.openid.net/extensions/pape/1.0'] for endpoint <openid.consumer.discover.OpenIDServiceEndpoint server_url='https://www.google.com/accounts/o8/ud' claimed_id=None local_id=None canonicalID=None used_yadis=True >> 
[Fri Jan 29 13:29:26 2010] [error] Attempting discovery to verify endpoint 
[Fri Jan 29 13:29:26 2010] [error] Performing discovery on https://www.google.com/accounts/o8/id?id=PrHw_N5_3j1HM 
[Fri Jan 29 13:29:26 2010] [error] Received id_res response from https://www.google.com/accounts/o8/ud using association XXXXXXXXXXXXX 

它看起來像Python不能使用從Google檢索到的信息。 這個錯誤是因爲數據來自谷歌還是openid的問題?

回答

0

嗯。這實際上不是一個致命的錯誤;當使用python-openid消費者示例反對谷歌的OP標識符(生成有趣的定向標識符的/ accounts/o8/id)時,我得到了同樣的結果,但它成功登錄。

這可能會導致一些日誌垃圾郵件如果您有「使用Google登錄」按鈕,並且圖書館可能會被智能化,以便在嘗試使用存儲的發現信息作爲OP標識符時使用,但如果您無法登錄,則可以使用其他方法是你的問題。

0

當給定的URL是服務器的URL而不是聲明的標識符時,會發生這種情況。對於生成它的路徑來說,這是一個真正的錯誤,因爲URL不能用作標識符,但會在內部被捕獲並用於從服務器請求一個真實的標識符,因此忽略日誌消息是安全的。儘管如此,a bug report已提交給GitHub上的python-openid項目,並提供了一個修復建議。