我最近纔看到ACS,AAL,WAAD,我想避免將用戶重定向到其IDP的登錄頁面。我想讓我的用戶保留在我的網站中,並向他們展示一個下拉框,以選擇他們想要進行身份驗證的用戶以及要求輸入用戶名和密碼的區域,然後通過代碼獲取令牌。這可能嗎?ACS--繞過用戶重定向到IdP?
我一直在審查一些示例應用程序,併產生一個快速的模擬,但似乎無法讓事情工作,例如,
_authContext = new AuthenticationContext("https://littledeadbunny.accesscontrol.windows.net");
string enteredEmailDomain = UserNameTextbox.Text.Substring(UserNameTextbox.Text.IndexOf('@') + 1);
IList<IdentityProviderDescriptor> idpdList = _authContext.GetProviders("http://littledeadbunny.com/NonInteractive");
foreach (IdentityProviderDescriptor idpd in idpdList)
{
if (String.Compare(ServiceRealmDropDownList.SelectedValue, idpd.Name, StringComparison.OrdinalIgnoreCase) == 0)
{
Credential credential;
credential = new UsernamePasswordCredential(enteredEmailDomain, UserNameTextbox.Text, PasswordTextbox.Text);
_assertionCredential = _authContext.AcquireToken("http://littledeadbunny.com/NonInteractive", idpd, credential);
return;
}
}
使用上面的代碼,當我嘗試使用Windows Azure中的Active Directory用戶(管理員),我得到的錯誤「數據在根級別是無效的。行1,位置1。」我試圖獲得認同。
當我使用Google時,出現錯誤「0x8010000C:沒有身份提供者匹配請求的協議」。
如果有工作樣品?如果我正在做一些明顯錯誤的事情,我會讚賞糾正。
感謝奧倫如何,這是有道理的。這是否也適用於Office365和Windows Azure Active Directory?我知道這些可以與本地目錄同步,並且在訪問業務線應用程序時,用戶熟悉點擊內部登錄屏幕。在這種情況下瀏覽器控件是否適用,以及要求用戶通過瀏覽器控件對WAAD或Office 365進行身份驗證? 對不起,如果這聽起來很愚蠢,這對我來說都是非常新的。 – user2135771 2013-03-05 20:58:08
讓用戶使用瀏覽器控件登錄到O365或Azure AD是完全合適的。 – 2013-03-06 01:01:40
感謝您的信息。瀏覽器控制是唯一的選擇,是否有其他方式來管理認證過程?有沒有樣品或指南能夠做到這一點?這將整理我的學習曲線。謝謝你的時間。 – user2135771 2013-03-06 11:20:46