2010-09-03 97 views
3

我花了無數小時閱讀遍佈各地的文檔,而且我仍然遇到了實現最新版本的DotNetOpenAuth(3.4.5.10202)中提供的經典ASP示例的問題)。使用經典ASP實現OpenID(DotNetOpenAuth)

具體而言,我不確定我需要在login.asp中更改哪些值以查看它是否有效/將對我有用。對於下面的代碼,如果我想將Google用作OpenID提供商,是否將requestURL更改爲www.google.com/accounts/o8/id或www.google.com/accounts/o8/ud? (StackOverflow的新用戶超限額:/)

`realm = "http://" + Request.ServerVariables("HTTP_HOST") + "/classicaspdnoi/" 
thisPageUrl = "http://" + Request.ServerVariables("HTTP_HOST") + Request.ServerVariables("URL") 
requestUrl = "http://" + Request.ServerVariables("HTTP_HOST") + Request.ServerVariables("HTTP_URL")` 

我真的有一個艱難的時間,這一點,並在研究花費了約8小時以上(即谷歌搜索,直到我的手指流血,並試圖消化數千頁關於從OpenID到Federated登錄的所有內容的文檔)比我不得不花費的多。

任何意見或方向將不勝感激。

順便說一句,我見過this post,但是在示例文件的文本之外沒有很多經典ASP實現的文檔。

+0

這對我沒有意義。使用傳統的ASP示例代碼,我以前已經輸入了我的gmail憑證。在閱讀[這篇文章後](http://stackoverflow.com/questions/1588502/no-openid-endpoint-found-net-openid)後,我決定嘗試一些愚蠢的做法,比如插入Google的URL www.google。 COM /帳號/ O8/ID。你知道些什麼......它讓我向谷歌詢問我是否想允許我的網站進行身份驗證,然後用十幾個查詢字符串名稱/值對將我重定向回調用頁面。 Ugggh。進展。但它不喜歡它。 – Brian 2010-09-03 16:39:09

回答

0

你在正確的軌道上。谷歌的OP標識符(這是什麼,你必須輸入做一個谷歌登錄)是https://www.google.com/accounts/o8/id

  • realm是URL到您的主頁
  • thisPageUrl是,供應商應後,將用戶重定向回網址用戶登錄到提供程序。
  • 'requestUrl'是當前傳入請求的完整URL,包括查詢字符串。它可能帶有一個OpenID響應。

因此,您可能需要更改的唯一URL是realm變量。

既然你說你已經在查詢字符串中得到了一大堆迴應,那麼處理該響應的代碼就應該用到了。你可能想要自定義實際的登錄代碼設置會話變量),無論您的網站需要。

DotNetOpenAuth v3.4.5中的經典ASP COM服務器確實可以讓您獲得Google用戶的電子郵件地址。您需要稍微修改示例:

-redirectUrl = dnoi.CreateRequestWithSimpleRegistration(Request.Form("openid_identifier"), realm, thisPageUrl, "nickname,email", "fullname") 
+redirectUrl = dnoi.CreateRequestWithSimpleRegistration(Request.Form("openid_identifier"), realm, thisPageUrl, "", "email") 

這應該這樣做。如果不是,Google可能需要RP發現才能成功。無論如何,RP發現是一件好事。方向是在http://blog.nerdbank.net/2008/06/why-yahoo-says-your-openid-site.html。請注意,雖然經典ASP不是我在編寫帖子時想到的觀衆,所以您可能需要適應一些技巧。

+0

安德魯,謝謝。我回復了Google網上論壇的帖子,但也認爲我會問這個......從我設法收集的信息中,我無​​法在「客戶端響應」中找回電子郵件地址。我知道他們(谷歌)沒有實現openid框架的特定功能,但是可以提供一些替代方法,以便我可以找到用戶的電子郵件地址以在我的網站上爲他們創建存根帳戶? – Brian 2010-09-04 16:51:49

+0

我已添加到我的答案中,以包含Google電子郵件解決方案。 – 2010-09-05 02:39:06