đŻ Objectif
Cet article vise Ă expliquer le fonctionnement de la connexion Single Sign-On (SSO) dans les Webviews et les MicroApps, en mettant en lumiĂšre les diffĂ©rences en termes de persistance de session et de mĂ©canismes d'authentification.â
đ§ DĂ©finitions clĂ©s
Webview
Une Webview est un composant intĂ©grĂ© dans une application mobile qui permet d'afficher du contenu web. Elle agit comme un navigateur embarquĂ©, offrant une expĂ©rience utilisateur fluide sans quitter l'application.â
MicroApp
Une MicroApp est une fonctionnalitĂ© autonome intĂ©grĂ©e dans une application principale. Elle interagit gĂ©nĂ©ralement avec des services backend via des API, sans nĂ©cessiter d'interface web.â
đ Fonctionnement du SSO dans les Webviews
đ Partage de session
Dans une application mobile, une seule instance de Webview est gĂ©nĂ©ralement utilisĂ©e. Cela signifie que :â
Les cookies de session sont partagés entre les différentes Webviews.
Une fois l'utilisateur authentifiĂ© via SSO dans une Webview, la session reste active pour les autres services accessibles via Webview, tant que la session n'a pas expirĂ©.â
Par exemple, si un Ă©tudiant se connecte Ă un service de logement via SSO dans une Webview, il n'aura pas besoin de se reconnecter pour accĂ©der Ă un autre service utilisant la mĂȘme instance de Webview.â
â ïž Limitations
Il est important de noter que :â
La persistance de la session dépend de la validité des cookies. Si les cookies expirent ou sont supprimés, une nouvelle authentification sera nécessaire.
Les Webviews ne partagent pas les cookies avec les navigateurs externes. Ainsi, une session active dans une Webview n'est pas reconnue dans le navigateur natif de l'appareil, et vice versa.â
đ€ Fonctionnement du SSO dans les MicroApps
Les MicroApps ne reposent pas sur des Webviews pour l'authentification. Ă la place, elles utilisent des mĂ©canismes de Machine-to-Machine (M2M) pour interagir avec les services backend.â
đ Authentification M2M
Dans ce contexte :â
L'application mobile agit en tant que client de confiance, s'authentifiant auprĂšs du service backend via des tokens d'accĂšs obtenus grĂące au flux de Client Credentials d'OAuth 2.0.
Aucune interaction utilisateur n'est requise pour l'authentification, car les identifiants sont Ă©changĂ©s directement entre machines.â
Ce mĂ©canisme est particuliĂšrement adaptĂ© pour des services nĂ©cessitant une communication sĂ©curisĂ©e entre applications, sans intervention humaine.â
đ Comparaison entre Webviews et MicroApps
Caractéristique | Webview | MicroApp |
Type d'authentification | SSO via navigateur intégré | Authentification M2M via API |
Persistance de session | Dépend des cookies de session | Gérée par des tokens d'accÚs avec expiration |
Interaction utilisateur | Requiert une action de connexion initiale | Aucune, tout est géré en arriÚre-plan |
Partage de session | Possible entre Webviews de la mĂȘme instance | Non applicable |
â Bonnes pratiques
Webviews :
Assurez-vous que les cookies de session sont correctement gérés et persistants pour maintenir la connexion SSO.
Informez les utilisateurs que la session peut expirer et qu'une reconnexion pourrait ĂȘtre nĂ©cessaire.â
MicroApps :
Utilisez des tokens d'accÚs avec des durées de vie appropriées pour équilibrer sécurité et performance.
ImplĂ©mentez des mĂ©canismes de rafraĂźchissement des tokens si nĂ©cessaire.â
En comprenant les différences entre les Webviews et les MicroApps en matiÚre de SSO, vous pouvez choisir la solution la plus adaptée à vos besoins, tout en garantissant une expérience utilisateur fluide et sécurisée.
Ressources utiles :