我正在开发一个支持 Windows Azure Active Directory (WAAD) 身份验证的 Web 应用程序。在 WAAD 中,我添加了一个已经拥有 Microsoft 帐户的用户。
我使用 SAML 2.0 协议进行身份验证请求。
在我的应用程序中访问受保护的资源后,我将用户重定向到:
https://login.windows.net/<id>/saml2/SAMLRequest=...&RelayState=...
这是我从 WAAD 管理控制台复制的 URL:
解码后的 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 帐户用户(也已导入 WAAD)进行身份验证时,我收到以下错误消息:
ACS20031: Sign-in with LiveId is not supported for this application.
我错过了什么?
在 WAAD Web 管理控制台上,我没有看到这样的设置。我尝试了单租户/多租户选项
是否可以使用简单的 WAAD 用户(不是 LiveId)登录
foobar@<tenantid>.onmicrosoft.com
?