2016-08-25 4 views
2

J'utilise MSAL pour connecter mon application Xamarin.Forms-Windows 8.1 à Azure AD B2C avec une stratégie SignInSignUp personnalisée (pour me connecter l'utilisateur en utilisant une adresse e-mail personnalisée et un mot de passe). L'authentification "normale" contre Azure AD (sans stratégie personnalisée) fonctionne correctement, mais lorsque j'utilise la stratégie, le message "Nous ne pouvons pas vous connecter au service dont vous avez besoin en ce moment Vérifiez votre connexion réseau ou réessayez plus tard". apparaît à chaque fois après avoir fourni les informations d'identification (directement dans la boîte de dialogue). Comme la boîte de dialogue ne se termine pas correctement, je ne récupère aucune exception ou AuthenticationResult et je ne suis donc pas en mesure de déterminer le problème concret (la connexion Internet en elle-même n'est pas le problème).Problèmes de connexion lors de l'utilisation de AcquireTokenAsync() dans Xamarin Forms Application Windows avec Azure AD B2C et stratégie personnalisée

Note: J'ai aussi essayé ceci dans une Xamarin.Forms-UWP-App qui m'a conduit au même problème. Sous iOS, cela fonctionne correctement et la boîte de dialogue se termine et se ferme correctement.

NuGet Versions: MSAL (Microsoft.Identity.Client): 1.0.304142201-alpha Xamarin.Forms: 2.3.2.118-pre1

Thats my code (simplifié):

var clientId = "{My application's ClientId}"; 
var redirectUri = "urn:ietf:wg:oauth:2.0:oob"; 
var authority = "https://login.microsoftonline.com/{My Azure AD B2C}"; 
string[] scopes = { clientId }; 
var policy = "{My SignUpSignIn policy}"; 

var clientApplication = new PublicClientApplication (authority, clientId); 
clientApplication.RedirectUri = redirectUri; 

var result = await this.clientApplication.AcquireTokenAsync(scopes, string.Empty, UiOptions.SelectAccount, string.Empty, null, authority, policy); 

Des idées à ce sujet?

Merci d'avance!

Cordialement,
Marcel

Répondre

2

moi avons eu le même problème. Il s'avère que j'ai oublié de configurer correctement mon application mobile pour permettre loggin via Active Directory

Les étapes de mon travail qui a résolu mon problème était:

  1. Azure B2C lame sélectionnez Application et définir l'URL Répondre au l'adresse de l'instance Azure Mobile Apps (par exemple, https://myapp.azurewebsites.net), suivie de /.auth/login/aad/callback
  2. Assurez-vous que les stratégies utilisées dans le client B2C Azure Active Directory doivent être configurées de sorte que l'URL de réponse soit définie sur le même que ci-dessus
  3. Dans l'application Azure Mobile ou Services, accédez aux paramètres -> authenticati sur/autorization et assurez-vous qu'une demande non authentifiée est configurée pour se connecter avec AAD
  4. dans la même lame sélectionner le fournisseur AAD, aller à avancé et configurer l'ID client et l'URL de l'émetteur, avec l'ID client étant l'application ID du locataire B2C Active Directory Azure et l'URL de l'émetteur étant le point de terminaison des métadonnées pour la stratégie B2C Azure Active Directory

Une fois cela fait, tout a fonctionné parfaitement. Des instructions plus détaillées sont disponibles sur https://developer.xamarin.com/guides/xamarin-forms/web-services/authentication/azure-ad-b2c-mobile-app/

Laissez-moi savoir si cela a aidé ...