使用SAML进行WAAD身份验证:不支持LiveId

时间:2014-07-25 09:24:25

标签: azure saml-2.0 azure-active-directory windows-live-id

我正在使用Windows Azure Active Directory(WAAD)身份验证支持开发Web应用程序。在WAAD中,我添加了一个已拥有Microsoft帐户的用户。

enter image description here

我使用SAML 2.0协议进行身份验证请求。

在我的应用中访问受保护资源时,我将用户重定向到:

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

这是我从WAAD管理控制台复制的URL:

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/ ...

  3. 但是,在使用Microsoft帐户用户(也导入WAAD)进行身份验证后,我收到以下错误消息:

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

    enter image description here

    我错过了什么?

    1. 在WAAD网络管理控制台上,我没有看到这样的设置。我尝试了单租户/多租户选项

    2. 是否可以使用foobar@<tenantid>.onmicrosoft.com使用简单的WAAD用户(不是LiveId)登录?

1 个答案:

答案 0 :(得分: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中拥有此用户,但标记为&#34;来自&#34; - &GT; &#34; Microsoft帐户&#34;:

enter image description here

您尝试强制执行的联合类型目前仅适用于Microsoft Internal应用程序,而不适用于客户。当前适用于客户的唯一联合服务是访问控制服务。

Here you can read关于ACS的未来以及将这些联合功能合并到下一版AAD的计划。但是,我们还没有到达那个未来。