我在過去的一週裏一直在解決這個問題。我有一個網站使用DotNetOpenAuth項目中的依賴方MVC代碼。自2009年以來,我一直在使用它。使用Google和DotNetOpenAuth斷斷續續的「找不到OpenID端點找到」消息
最近,Google登錄失敗。我會說大約80%的時間谷歌登錄工作正常。所以間歇性的特性使得這很難診斷。
這是我已經試過:
- 當然我驗證過
openid_identifier
使用正確的URL(https://www.google.com/accounts/o8/id) - 我已經更新到最新版本(3.4 DotNetOpenAuth)。
- 我試過按照this answer添加默認代理設置。
- 我已經延長了超時設置,甚至減少了SQL上的內存,以便給予更多的RAM,如this answer所示。
- 我已經將日誌記錄添加到每個請求和錯誤,以查看是否可以獲取任何有價值的信息。這並沒有告訴我很多。
- 我看過了提琴手的請求/回覆,看我能否找到任何東西。
- 我已經在StackOverflow上測試過我的Google登錄信息,因爲實際上這是Google的一個問題。到目前爲止,它一直在工作。
任何想法?
UPDATE
在努力查明問題我改變了我的網站上一點的代碼。而不是做這一切在一行...
openid.CreateRequest(Request.Form["openid_identifier"]).RedirectingResponse.AsActionResult();
我把它分成與記錄部分在......之間
MvcApplication.Logger.Info("Loading... " + Request.Form["openid_identifier"]);
var request = openid.CreateRequest(Request.Form["openid_identifier"]);
var redirect = request.RedirectingResponse;
MvcApplication.Logger.Info("Status... " + redirect.Status);
if (redirect.Status.ToString().ToLower() != "found")
{
MvcApplication.Logger.Error("Details... " + redirect.Body);
}
return redirect.AsActionResult();
所以我會等待下一次的錯誤。