2017-09-05 41 views
2

當前正在爲客戶端請求首次集成ADFS解決方案。我們的客戶想要使用他們的文檔和電子郵件管理服務NetDocuments提供的聯合登錄功能,我們需要在我們自己的應用程序中模擬和支持這些功能。使用SAML 2.0的ADFS 4.0自動聯合登錄

我們已經建立了一個本地ADFS域,並且已經達到了能夠獲取我們的saml url請求https://domain/adfs/ls/wia?SAMLRequest= ...的地步,但是從那裏我們無法處理saml響應,其中ADFS登錄頁面將在瀏覽器中呈現以登錄使用他們的網絡憑據。我們得到的是一個響應字符串,其錯誤爲「腳本已禁用,單擊提交以繼續」,當以HTML格式查看時。

一旦我們能夠驗證用戶,我們會從NetDocuments收到一個代碼,我們可以在我們的應用程序中使用該代碼來檢索令牌以供將來登錄。

是否有可能以編程方式驗證用戶並繞過將在瀏覽器中的ADFS登錄屏幕?

回答

0

這裏有些困惑。

SAMLRequest是SAML 2.0協議。

但是「然後我們會從NetDocuments收到一個代碼,我們可以在我們的應用程序中使用該代碼來檢索未來登錄的令牌」,這是OpenID Connect/OAuth授權代碼授權流程。

您不能混合使用協議。

聽起來像您需要專注於ADFS 4.0支持的OpenID Connect。

您遇到的錯誤是因爲SAML 2.0是基於瀏覽器的,並且需要瀏覽器重定向才能正常工作。

看看ADAL,它爲您提供內置的登錄屏幕並使用OpenID Connect。

+0

感謝您的幫助,我們開始研究OpenID Connect,看看我們是否可以將其納入我們的項目。我們可能會使用單獨的基於瀏覽器的解決方案來處理登錄,以獲取我們期望的代碼 - 至少在短期內。 我也發現這篇文章,以幫助更多一點,我能夠去的部分,但從那裏沒有得到重定向頁面。 https://blogs.msdn.microsoft.com/bradleycotier/2012/10/28/saml-2-0-tokens-and-wif-bridging-the-divide/ – cfnq