2014-07-25 65 views
1

我正在開發具有Windows Azure Active Directory(WAAD)身份驗證支持的Web應用程序。在WAAD中,我添加了一個已經有Microsoft帳戶的用戶。使用SAML進行WAAD身份驗證:不支持LiveId

enter image description here

我使用SAML 2.0協議進行認證請求。

在在訪問受保護的資源我的應用程序,我將用戶重定向到:

https://login.windows.net/<id>/saml2/SAMLRequest=...&RelayState=... 

這是我從WAAD管理控制檯複製網址:

enter image description here

解碼的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> 

這是偉大的工作,我重定向到

  1. https://login.microsoftonline.com/ ...

  2. https://login.live.com/ ......

然而,在使用Microsoft帳戶用戶autheticating(這也是導入到WAAD),我得到這個錯誤信息:

ACS20031: Sign-in with LiveId is not supported for this application. 

enter image description here

我在想什麼?

  1. 在WAAD Web管理控制檯上,我沒有看到這樣的設置。我試過了單租戶/多租戶選項

  2. 是否有可能用[email protected]<tenantid>.onmicrosoft.com用簡單的WAAD用戶(不是LiveId)登錄?

回答

2

據我所知沒有。

走到今天,讓用戶的唯一途徑登錄的使用Live ID到您的應用程序如下:

  • 使用Azure Active Directory Access Control Service(或更好地稱爲ACS)
  • 使用LiveID Web Authentication SDK
  • 使用帶有備註的Azure Active Directory。備註是: **如果您首先在目錄租戶中供應該用戶,則只能使用LiveID登錄Azure Active目錄。當您在Azure Active Directory租戶中創建新用戶時以及在添加過程中將其添加爲LiveID電子郵件時會發生配置。然後你就會有這種用戶在你的AAD,但標記爲「源從」 - >「微軟賬戶」:

enter image description here

聯合會您要執行的類型目前僅適用於微軟內部應用程序,而不是爲了顧客。目前唯一可用於客戶的聯合服務是訪問控制服務。

Here you can read有關ACS的未來以及將這些聯合功能合併到AAD的下一個版本的計劃。但我們仍然沒有這樣的未來。

+0

不幸的是我不能使用ACS,因爲我不得不使用SAML協議請求(並期望SAML協議響應)。 ACS僅支持使用WS-Trust協議的SAML 2.0斷言,這是不夠的。使用WAAD我已經完成了一個Microsoft帳戶用戶的配置。我編輯了我的問題,豐富了截圖。 – kavai77

+0

是的,你是對的,ACS不支持SAML-P協議。但是,那麼你也不能使用聯合與WAAD ...與常規waad用戶登錄應該很好工作。嘗試使用WAAD用戶([email protected])登錄時會遇到什麼錯誤? – astaykov

+0

我只是再次嘗試用WAAD用戶([email protected])進行身份驗證,現在它工作正常。只有配置的Microsoft帳戶失敗。幸運的是,我認爲WAAD用戶認證對我們來說更重要,我們可以在沒有配置的Microsoft帳戶的情況下生活。 – kavai77