2017-09-21 2 views
1

Le code fonctionne correctement à partir du portail de développement de Microsoft. Mais quelqu'un peut-il s'il vous plaît me dire comment il doit se comporter en suivant cas d'utilisationsso dans android en utilisant Microsoft Azur azur sdk -ADAL

Tenir compte deux applications: App1 et App2

J'ai développé même code et installé deux applications simultanément

App1 comme lancé le premier me demander informations d'identification pour le webview. C'est très bien. comme je n'ai pas de cache ou déjà connecté jusqu'à la date.

Une fois que je me connecte avec succès, les applications fonctionne correctement comme la connexion automatique

Maintenant, quand j'ouvre App2, il me lance encore la page de connexion. Idéalement, il devrait prendre le cache de App1 et connexion automatique.

S'il vous plaît noter: j'ai fourni même « id partagée » dans les deux applications dans le manifeste

S'il vous plaît laissez-moi savoir au sujet de ce que je suis coincé avec Single Sign interne question depuis longtemps

Répondre

0

Je vois que vous avez étiqueté la question avec ADAL, donc je suppose que c'est la bibliothèque que vous utilisez. Pour afficher une session. Webviews dans Android ne partage pas beaucoup d'état entre les applications, et sont à peu près complètement des sandbox (isolés et ne partagent pas les cookies de session, etc.).

Maintenant, vous certainement pouvez achieve SSO for Android using ADAL, vous avez 2 options:

Brokered SSO

utilisant une application de courtier, comme le Microsoft Authenticator, l'utilisateur final essentiellement des signes dans ici tels que ils sont capables de maintenir une session à l'intérieur du bac à sable du courtier. Cela permet à toute application qui signe dans les utilisateurs Azure AD de partager l'état. L'article lié ci-dessus explique comment activer votre application pour utiliser le courtier.

Non-Brokered SSO

Vous pouvez configurer l'authentification unique entre toutes les applications que vous possédez. Cela signifie qu'un utilisateur final obtiendra l'authentification unique entre App 1, App 2, App N, mais pas nécessairement une autre application dans l'écosystème Azure AD. L'article lié ci-dessus explique comment activer votre application pour utiliser l'authentification unique non sponsorisée.

Bonus Option: v2 avec MSAL

je l'ai déjà dit ADAL utilise webviews pour la connexion, il y a une autre façon de le faire que le Microsoft Authentication Library (MSAL) prend en charge l'aide du navigateur du système. Tout simplement, il utilise le navigateur de l'onglet personnalisé Chrome ou Chrome sur l'appareil plutôt que sur le WebView intégré à l'application. Ensuite, le cookie de session est défini sur le navigateur global de sorte que toute application qui utilise également le navigateur (ou si l'utilisateur final a utilisé le navigateur en mode natif pour se connecter) obtienne l'authentification unique. La stipulation ici est MSAL fonctionne contre le Azure AD v2.0 endpoint qui a some limitations, mais prend également en charge une connexion avec les comptes Microsoft (* .outlook, * .live, etc) hors de la boîte.

Si vous souhaitez essayer v2 + MSAL, je vous recommande d'essayer le Android Guided Walkthrough qui vous explique comment créer une application qui appelle Microsoft Graph.