2010-05-11 37 views
0

如果我想將DotNetOpenAuth(主要用於人們使用他們的Google/Yahoo帳戶登錄,而不是作爲提供程序)集成到我的現有站點,這一行控制是否足夠好?DotNetOpenAuth OpenIdTextBox對於Google/Yahoo

<rp:OpenIdTextBox ID="OpenIdTextBox1" runat="server" /> 

說,如果用戶想要登錄谷歌,我可以簡單地設置文本框爲「https://www.google.com/accounts/o8/id」,然後他們可以登錄。我試着用我的Google帳戶,它似乎工作,我可以從HttpContext.Current.User.Identity.Name獲取令牌。

這是「一線」解決方案足夠安全的生產?還是必須使用「OpenIdSelector」或「OpenIDLogin」控件?

我也打開了.net模板和一些樣本,它們非常複雜。有PAPE策略,xrds.aspx(用於發現),ConsumerKey + ConsumerSecret等等。作爲一個新手,我很困惑。任何關於此的提示將非常感激。謝謝

回答

1

安全方面,你所做的就足夠了。但還有更多,你會想要/需要做的。第一個是設置該屬性對您的頂線頁面標籤:

<%@ Page ValidateRequest="false" %> 

否則,用戶將看到隨機登錄失敗,因爲一些OpenID的消息「看」危險的ASP.NET。

您要做的下一件事是設置您的xrds.aspx頁面以及從您的主頁到它的鏈接。這對於獲得基本的OpenID工作並不是必須的,但是如果您有開放的重定向器URL,它可以增強您網站的安全性,而且如果您沒有正確實施此「解決方案」,Google和Yahoo等一些提供商可以向用戶顯示難看的警告消息。 RP發現「方面。

之後,如果您獲得了所需的一切,那麼您可以自由離開。

但是,如果您只對Google用戶感興趣,請考慮使用OpenIdButton ASP.NET控件而不是OpenIdTextBox,因爲它可以爲用戶提供更好的視覺效果。

+0

非常感謝Andrew對你的提示,他們非常有用。你的DotNetOpenAuth簡直太棒了,保持良好的工作。 我越想越想使用「OpenIdSelector」。我想validaterequest和xrds.aspx提示也適用於OpenIdSelector,對吧? – userb00 2010-05-12 19:13:16

+0

謝謝。這是正確的。 – 2010-05-13 05:35:29