2017-06-10 1 views
0

Nous développons des applications mobiles Xamarin Native et utilisons Azure AD B2C pour authentifier les utilisateurs à l'aide de leurs connexions sociales.Gérer l'utilisateur à partir d'Azure AD B2C à l'aide de l'API AD Graph - accès sécurisé

Nous avons décidé d'utiliser la bibliothèque native MSAL (Xamarin) pour l'authentification en utilisant B2C. Et notre application mobile nécessaire pour gérer (accès complet) le profil de l'utilisateur connecté. Puisque cette fonctionnalité n'est pas disponible dans MSAL, nous avons décidé d'aller avec ADAL pour le moment. Suivi l'instruction fournie dans le lien ci-dessous et l'exemple fonctionne. Mais j'ai commencé à expérimenter en supprimant l'accès à l'API fourni dans l'application (créé dans le client b2c) et l'application a été exécutée avec le paramètre "Get-user". Et l'application est toujours en mesure d'obtenir les utilisateurs de AD. Vous ne savez pas à quel point cette chose est sûre?

Puis supprimé la clé d'application de l'application client B2C et exécuté l'exemple d'application console. Et reçu une erreur AADSTS70002: Error validating credentials. AADSTS50012: Invalid client secret is provided. Trace ID: cef09957-06bf-462e-a0c3-4ed6bae11e00 Correlation ID: afab126d-8694-479a-8a21-c12eb7cb176c

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

Toute idée pourquoi cela se produit. Je voudrais l'implémenter sur une application xamarin.ios et tout conseil très apprécié.

Répondre

1

La réponse est très similaire à la réponse à votre autre question: Exception access Azure AD B2C using ADAL library for user management, qui peut se résumer ainsi:

B2C AD Azure ne supporte pas encore les autorisations déléguées aux AD Azure ou Microsoft Graph. La méthode correcte pour contourner cette limitation à ce moment est demandez à votre application cliente native d'appeler une API Web (utilisant MSAL) qui appelle à son tour l'API graphique (utilisant ADAL). Cette API Web est une API que vous créez avec une logique d'autorisation pour contrôler les opérations de gestion des utilisateurs. Une fois la gestion des utilisateurs dans Azure AD B2C prise en charge via Microsoft Graph, vous n'avez pas besoin de cette API et pourrez utiliser des autorisations déléguées (par rapport aux autorisations d'application utilisant les informations d'identification client) pour que votre application client natif communique directement avec le Microsoft Graph. Dans l'intervalle, vous devrez tenir votre propre API Web selon les indications ci-dessus. Le point de terminaison Azure AD v2.0 et l'API Microsoft Graph prennent désormais en charge le flux des informations d'identification client. Vous pouvez également utiliser MSAL pour vos appels API Microsoft Graph. Toutefois, si vous devez appeler le diagramme Azure AD, vous devrez toujours utiliser ADAL.

+0

Merci Saca. – Jeeva