我正在開發具有Windows Azure Active Directory(WAAD)身份驗證支持的Web應用程序。在WAAD中,我添加了一個已經有Microsoft帳戶的用戶。使用SAML進行WAAD身份驗證:不支持LiveId
我使用SAML 2.0協議進行認證請求。
在在訪問受保護的資源我的應用程序,我將用戶重定向到:
https://login.windows.net/<id>/saml2/SAMLRequest=...&RelayState=...
這是我從WAAD管理控制檯複製網址:
解碼的SAML令牌看起來像:
<samlp:AuthnRequest ForceAuthn="false"
ID="b6f579bb-c7fc-49b1-a8f1-bbe2ad99da5d"
IsPassive="false"
IssueInstant="2014-07-25T06:38:11.303Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2p:Issuer>....onMicrosoft.com</samlp:Issuer>
<saml2p:NameIDPolicy AllowCreate="true"/>
<saml2p:RequestedAuthnContext Comparison="exact">
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
</saml2p:RequestedAuthnContext>
這是偉大的工作,我重定向到
然而,在使用Microsoft帳戶用戶autheticating(這也是導入到WAAD),我得到這個錯誤信息:
ACS20031: Sign-in with LiveId is not supported for this application.
我在想什麼?
在WAAD Web管理控制檯上,我沒有看到這樣的設置。我試過了單租戶/多租戶選項
是否有可能用
[email protected]<tenantid>.onmicrosoft.com
用簡單的WAAD用戶(不是LiveId)登錄?
不幸的是我不能使用ACS,因爲我不得不使用SAML協議請求(並期望SAML協議響應)。 ACS僅支持使用WS-Trust協議的SAML 2.0斷言,這是不夠的。使用WAAD我已經完成了一個Microsoft帳戶用戶的配置。我編輯了我的問題,豐富了截圖。 – kavai77
是的,你是對的,ACS不支持SAML-P協議。但是,那麼你也不能使用聯合與WAAD ...與常規waad用戶登錄應該很好工作。嘗試使用WAAD用戶([email protected])登錄時會遇到什麼錯誤? – astaykov
我只是再次嘗試用WAAD用戶([email protected])進行身份驗證,現在它工作正常。只有配置的Microsoft帳戶失敗。幸運的是,我認爲WAAD用戶認證對我們來說更重要,我們可以在沒有配置的Microsoft帳戶的情況下生活。 – kavai77