Infrastructure SDS for C&M sur Microsoft Azure AD

SDS for C&M est une application s’exécutant sur un téléphone ou un ordinateur (dite application native), et devant authentifier un utilisateur pour obtenir des ressources d’une application web sécurisée par Microsoft Azure AD.Interactions between Azure AD and SDS for C&M

Les 4 étapes de ce processus sont détaillées ci-dessous en fonction des numéros apparaissant sur le schéma.

  1. Authentification :

    • L’application native effectue une requête d’authentification sur https://login.microsoftonline.com/common. Elle conserve les données d’authentification d’un utilisateur.

    • Si l’utilisateur ne s’est pas déjà authentifié ou si l’application native n’a pas les données d’authentification, une fenêtre de son navigateur se lance pour son authentification,

    • L’authentification est validée, un code d’authentification est octroyé à l’application native.

  2. Demande de jeton d’accès sur Azure AD :

    • La requête de jeton d’accès contient entre autres l’URI de redirection de l’application native et l’identifiant de l’API SDS for C&M.

    • Azure AD vérifie et valide la requête.

    • Un jeton d’accès est retourné sur l’URI de redirection de l’application native.

  3. Accès aux ressources :

    • L’application native envoie une requête de ressources avec le jeton d’accès obtenu,

    • L’API SDS for C&M valide le jeton d’accès et retourne les ressources désirées.

  4. Accès aux API utilisées par l’API SDS for C&M :

    • L’API SDS for C&M ayant effectué toutes les vérifications nécessaires, l’accès aux ressources via les API « Office 365 Sharepoint Online », « Microsoft Graph » et « Windows Azure Active Directory » est assuré.

NOTE
Le jeton d’accès a une durée de vie limitée. Lors de son expiration, l’application native reçoit une erreur indiquant que l’utilisateur doit s’authentifier de nouveau. Lors de l’étape 2, durant laquelle un jeton d’accès est renvoyé, un second jeton d’actualisation est également envoyé à l’application native.
Cette technique permet à l’application native d’acquérir un nouveau jeton d’accès, sans rejouer l’étape 1 (pas d’interaction avec l’utilisateur).