2014-07-25 1 views
1

Je développe une application web avec le support d'authentification Windows Azure Active Directory (WAAD). Dans WAAD, j'ai ajouté un utilisateur qui possède déjà un compte Microsoft.L'authentification WAAD avec SAML: LiveId n'est pas supportée

enter image description here

I Utiliser le protocole SAML 2.0 de la demande d'authentification.

Dans mon application lors de l'accès à une ressource protégée, je redirige l'utilisateur vers:

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

Ceci est l'URL que je copiais de la console de gestion WAAD:

enter image description here

Le jeton SAML décodé ressemble à:

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

Cela fonctionne très bien, je suis redirigé vers

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

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

Cependant, sur autheticating avec un utilisateur compte Microsoft (qui est également importé dans WAAD), j'obtiens ce message d'erreur:

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

enter image description here

Qu'est-ce que je manque?

  1. Sur la console d'administration Web WAAD, je n'ai pas vu un tel paramètre. J'ai essayé les deux options Single Locataire/Multitenant

  2. Y at-il une possibilité de se connecter avec un simple utilisateur WAAD (pas LiveId) avec [email protected]<tenantid>.onmicrosoft.com?

Répondre

2

À ma connaissance pas.

Jusqu'à aujourd'hui, la seule façon d'obtenir les utilisateurs connectés avec Live ID à votre application sont les suivants:

  • Utilisez Azure Active Directory Access Control Service (ou mieux connu sous le nom ACS)
  • Utilisez le LiveID Web Authentication SDK
  • Utilisez Azure Active Directory avec une remarque. La remarque est la suivante: ** Vous ne pouvez utiliser LiveID pour vous connecter avec le répertoire Azure Active que si vous avez d'abord configuré cet utilisateur dans votre répertoire. L'approvisionnement se produit lorsque vous créez un nouvel utilisateur dans votre locataire Azure Active Directory et que, lors de l'ajout, ajoutez-le en tant que courrier électronique LiveID.Ensuite, vous aurez cet utilisateur dans votre DAA, mais marqué comme « Provenant » -> « Microsoft compte »:

enter image description here

Le type de fédération que vous essayez d'appliquer ne fonctionne actuellement que pour les applications internes de Microsoft et pas pour les clients. Le seul service de fédération qui fonctionne actuellement pour les clients est le service de contrôle d'accès.

Here you can read un peu plus sur le futur de ACS et les plans pour fusionner ces capacités de fédération dans les prochaines versions d'AAD. Mais nous n'avons toujours pas eu cet avenir.

+0

Malheureusement, je ne peux pas utiliser ACS, car je suis obligé d'utiliser la requête de protocole SAML (et attend une réponse de protocole SAML). ACS prend uniquement en charge l'assertion SAML 2.0 avec le protocole WS-Trust, ce qui n'est pas suffisant. Avec WAAD, j'ai déjà configuré un compte utilisateur Microsoft. J'ai édité ma question enrichissante avec des captures d'écran. – kavai77

+0

oui, vous avez raison, ACS ne supporte pas le protocole SAML-P. Mais vous ne pouvez pas non plus utiliser la fédération avec WAAD ... la connexion avec un utilisateur régulier de waad fonctionnera bien. quelle erreur obtenez-vous en essayant de vous connecter avec l'utilisateur WAAD ([email protected])? – astaykov

+0

Je viens d'essayer à nouveau de m'authentifier avec un utilisateur WAAD ([email protected]), et maintenant ça marche bien. Seul le compte Microsoft provisionné échoue. Heureusement, je pense que l'authentification des utilisateurs WAAD est plus importante pour nous, et nous pouvons vivre sans le compte Microsoft provisionné. – kavai77