

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mettre en œuvre l'authentification basée sur l'identifiant Microsoft Entra dans une application centrale modernisée de AWS Blu Age
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application"></a>

*Vishal Jaswani et Rimpy Tewani, Amazon Web Services*

## Résumé
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-summary"></a>

**Note**  
AWS Mainframe Modernization Le service (Managed Runtime Environment Experience) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires à AWS Mainframe Modernization Service (expérience d'environnement d'exécution géré), explorez AWS Mainframe Modernization Service (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS Mainframe Modernization la section Modification de la disponibilité](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Les applications mainframe modernisées à l'aide de modèles de refactorisation, tels que ceux de [AWS Mainframe Modernization Refactor with AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html), nécessitent une intégration minutieuse des mécanismes d'authentification dans la nouvelle architecture applicative. Cette intégration est généralement considérée comme une activité de post-modernisation. La tâche peut être complexe et implique souvent la migration ou l'externalisation de systèmes d'authentification existants afin de les aligner sur les normes de sécurité modernes et les pratiques natives du cloud. Les développeurs doivent réfléchir à la manière d'implémenter efficacement l'authentification tout en respectant les contraintes de l'environnement d'exécution et des bibliothèques de l'application modernisée. Après la modernisation, vous AWS propose des moyens de faciliter l'intégration de votre code moderne AWS Blu Age aux systèmes de gestion des identités et des accès tels qu'[Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) et [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) (anciennement connu sous le nom d'Azure AD).

Ce modèle explique comment implémenter un mécanisme d'authentification dans votre application modernisée lorsque le fournisseur d'authentification est Microsoft Entra ID, sans perdre de temps à effectuer des recherches et à effectuer des essais. Le patron fournit :
+ Bibliothèques angulaires pertinentes et testées sur le terrain provenant de la Microsoft Authentication Library (MSAL) et d'autres documents Microsoft Entra ID essentiels à la mise en œuvre de l'authentification. 
+ Configurations requises sur le AWS Blu Age Runtime pour activer Spring Security à l'aide de la OAuth version 2.0.
+ Une bibliothèque qui capture les identités des utilisateurs authentifiés et les transmet au AWS Blu Age Runtime.
+ Mesures de sécurité que nous recommandons de mettre en œuvre.
+ Conseils de dépannage pour les problèmes courants liés à la configuration de l'identifiant Microsoft Entra.

**Note**  
Ce modèle utilise la bibliothèque d' OAuth extensions AWS Blu Age, qui est fournie aux clients dans le cadre de leur engagement en matière de [services AWS professionnels](https://aws.amazon.com/professional-services/). Cette bibliothèque ne fait pas partie du AWS Blu Age Runtime.

## Conditions préalables et limitations
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-prereqs"></a>

**Conditions préalables**
+ Une application modernisée produite par les outils de refactorisation de modernisation des ordinateurs centraux de AWS Blu Age. Ce modèle est utilisé [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)comme exemple d'application mainframe open source.
+ La bibliothèque d' OAuth extensions AWS Blu Age, fournie par l'équipe AWS Blu Age lors de votre engagement avec les [services AWS professionnels](https://aws.amazon.com/professional-services/).
+ Un actif Compte AWS pour déployer et tester l'application modernisée.
+ Connaissance des fichiers de configuration AWS Blu Age et des principes fondamentaux de Microsoft Entra ID.

**Limites**
+ Ce modèle couvre l'authentification OAuth 2.0 et les flux d'autorisation de base basés sur des jetons. Les scénarios d'autorisation avancés et les mécanismes de contrôle d'accès précis ne sont pas concernés.
+ Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, voir [Services AWS par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Pour des points de terminaison spécifiques, consultez [Points de terminaison de service et quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), puis choisissez le lien correspondant au service.

**Versions du produit**

Ce modèle a été développé en utilisant :
+ AWS Blu Age Runtime version 4.1.0 (le modèle fonctionne également avec les versions ultérieures rétrocompatibles)
+ bibliothèque MSAL version 3.0.23
+ Kit de développement Java (JDK) version 17
+ Version angulaire 16.1

## Architecture
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-architecture"></a>

**Pile technologique source**

Dans les environnements mainframe classiques, l'authentification est mise en œuvre par le biais de profils utilisateur. Ces profils identifient les utilisateurs du système, définissent qui peut se connecter et spécifient les fonctions que les utilisateurs peuvent exécuter sur les ressources du système. Les profils utilisateur sont gérés par des responsables de la sécurité ou des administrateurs de sécurité.

**Pile technologique cible**
+ Identifiant Microsoft Entra
+ Backend Java Spring Boot modernisé
+ AWS Blue Age Runtime
+ Spring Security avec OAuth 2.0
+ Application angulaire à page unique (SPA)

**Architecture cible**

AWS Le moteur d'exécution Blu Age prend en charge l'authentification OAuth basée sur la version 2.0 par défaut. Le modèle utilise donc cette norme pour protéger le backend. APIs

Le schéma suivant illustre le déroulement du processus.

**Note**  
Le schéma inclut Amazon Aurora comme exemple de modernisation de base de données, bien qu'Aurora ne soit pas inclus dans les étapes de ce modèle.

![\[Flux de processus pour l'authentification basée sur l'identifiant Entra pour une application AWS Blu Age.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/e51f24b8-178f-4974-aae9-23a0cc8540f5/images/0fdcdb22-9e46-4b02-86b2-395cba3e2f81.png)


où :

1. Un utilisateur essaie de s'authentifier avec l'identifiant Microsoft Entra.

1. Microsoft Entra ID renvoie les jetons d'actualisation, d'accès et d'identification que l'application utilise lors des appels suivants.

1. L'intercepteur MSAL inclut le jeton d'accès dans l'`Authorization`en-tête d'une requête HTTPS pour appeler le AWS Blu Age Runtime.

1. La `extension-oauth` bibliothèque AWS Blu Age extrait les informations utilisateur de l'en-tête à l'aide d'un fichier de configuration AWS Blu Age Runtime (`application-main.yml`) et place ces informations dans un `SharedContext` objet afin que la logique métier puisse les utiliser.
**Note**  
`SharedContext`est un composant d'exécution fourni par AWS Blu Age qui gère le contexte de l'application et les informations d'état dans l'ensemble de l'application modernisée. Pour plus d'informations sur les composants et les mises à jour de AWS Blu Age Runtime, consultez les [notes de mise à jour de AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html) dans la AWS Mainframe Modernization documentation. Pour plus d'informations sur le `application-main.yml` fichier, consultez la section [Configuration de la configuration pour AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html) dans la AWS Mainframe Modernization documentation.

1. Le AWS Blu Age Runtime vérifie si le jeton est présent. 

   1. Si le jeton est présent, il vérifie sa validité en communiquant avec l'identifiant Microsoft Entra. 

   1. Si le jeton n'est pas présent, le AWS Blu Age Runtime renvoie une erreur avec le code d'état HTTP 403.

1. Si le jeton est valide, le AWS Blue Age Runtime permet à la logique métier de se poursuivre. Si le jeton n'est pas valide, le AWS Blu Age Runtime renvoie une erreur avec le code d'état HTTP 403.

**OAuth flux de travail 2.0**

Pour un schéma détaillé du flux de travail OAuth 2.0, consultez la [documentation Microsoft Entra](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#protocol-details).

## Outils
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools"></a>

**Services AWS**

[AWS Mainframe Modernization](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)fournit des outils et des ressources pour vous aider à planifier et à mettre en œuvre la migration et la modernisation des mainframes vers des environnements d'exécution AWS gérés. Vous pouvez utiliser les fonctionnalités de refactoring de ce service, fournies par AWS Blu Age, pour convertir et moderniser vos anciennes applications mainframe.

**Note**  
AWS Mainframe Modernization Le service (Managed Runtime Environment Experience) n'est plus ouvert aux nouveaux clients. Pour des fonctionnalités similaires à AWS Mainframe Modernization Service (expérience d'environnement d'exécution géré), explorez AWS Mainframe Modernization Service (expérience autogérée). Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS Mainframe Modernization la section Modification de la disponibilité](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

**Référentiel de code**

L' CardDemo application a été mise à jour pour démontrer l'intégration avec Microsoft Entra ID. Vous pouvez accéder au code depuis le [GitHub référentiel de ce modèle](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app).

**Configuration du backend**

Ce modèle nécessite des modifications du fichier `application-main.yml`**** de configuration pour activer Spring Security en utilisant la OAuth version 2.0 sur l'application principale.  Le `.yml` fichier ressemble à ceci :

```
gapwalk-application.security: enabled
gapwalk-application:
  security: 
    identity: oauth
    issuerUri: ${issuerUrl}
    claim:
      claims:
        -
          claimName: upn
          claimMapValue: username
spring:
  autoconfigure:
    exclude:
     - org.springframework.boot.autoconfigure.security.oauth2.client.servlet.OAuth2ClientAutoConfiguration
     - org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration
  security:
    oauth2:
      client:
        registration: 
          azure:
            client-id: {clientId}
            client-secret: ${clientSecret}
            provider: azure
            authorization-grant-type: authorization_code
            redirect-uri: ${redirectUri}
            scope: openid
           
        provider:
          azure:
            authorization-uri: ${gapwalk-application.security.issuerUri}/oauth2/v2.0/authorize
            token-uri:  ${gapwalk-application.security.issuerUri}/oauth2/v2.0/token
            jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
      resourceserver:
        jwt:
          jwk-set-uri: ${gapwalk-application.security.issuerUri}/discovery/v2.0/keys
```

**AWS Bibliothèque de filtres d' OAuth extension Blu Age**

La bibliothèque d' OAuth extensions AWS Blu Age est fournie par l'équipe AWS Blu Age lors de votre engagement auprès [des services AWS professionnels](https://aws.amazon.com/professional-services/).

Cette bibliothèque lit la `claim.claims` configuration dans le `application-main.yml` fichier affiché dans le bloc de code précédent. Cette configuration est une liste. Chaque élément de la liste fournit deux valeurs : `claimName` et`claimMapValue`. `claimName`représente le nom d'une clé dans un jeton Web JSON (JWT) envoyé par le frontend et `claimMapValue` est le nom de la clé entrée. `SharedContext` Par exemple, si vous souhaitez capturer l'ID utilisateur sur le backend, définissez le nom `claimName` de la clé dans le JWT qui contient l'`userId`ID Microsoft Entra, et définissez le nom de la clé `claimMapValue` pour récupérer l'ID utilisateur dans le code du backend.

Par exemple, si vous le configurez `UserId``claimMapValue`, vous pouvez utiliser le code suivant pour extraire l'ID utilisateur :

```
SharedContext.get().getValue("userId", [UserId]);
```

## Bonnes pratiques
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-best-practices"></a>

Lors de la mise en œuvre de ce modèle, tenez compte des considérations de sécurité importantes suivantes.

**Important**  
Ce modèle constitue la base de l'intégration de l'authentification. Nous vous recommandons de mettre en œuvre des mesures de sécurité en plus de celles décrites dans cette section en fonction des besoins de votre entreprise avant de le déployer en production.
+ **AWS sécurité de configuration.**Déplacez les valeurs de configuration sensibles de `application-main.yml` à AWS Secrets Manager. Par exemple, configurez les propriétés suivantes à l'aide de Secrets Manager :

  ```
  security:
      oauth2:
        client:
          registration: 
            azure:
              client-id: {clientId}
              client-secret: ${clientSecret}
  ```

  Pour plus d'informations sur la façon dont vous pouvez utiliser Secrets Manager pour configurer les paramètres de AWS Blu Age, consultez les [secrets de AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config-app-secrets.html) dans la AWS Mainframe Modernization documentation.
+ **Protection de l'environnement d'exécution.** Configurez l'environnement applicatif modernisé avec des contrôles AWS de sécurité appropriés :

  ```
  server: 
    tomcat: 
      remoteip: 
       protocol-header: X-Forwarded-Proto 
       remote-ip-header: X-Forwarded-For 
    forward-headers-strategy: NATIVE
  ```
+ ** CloudWatch Journalisation sur Amazon.** Pensez à ajouter le fichier `logback-spring.xml to src/main/resources` :

  ```
  <configuration> 
   <appender name="CLOUDWATCH" class="com.amazonaws.services.logs.logback.CloudWatchAppender">  
     <logGroup>/aws/bluage/application</logGroup> 
     <logStream>${AWS_REGION}-${ENVIRONMENT}</logStream> 
     <layout> 
      <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </layout> 
   </appender> 
  
   <root level="INFO"> 
   <appender-ref ref="CLOUDWATCH"/> 
   </root> 
  </configuration>
  ```

  Pour plus d'informations sur l'activation du suivi avec CloudWatch, consultez la section [Activer le traçage pour enregistrer la corrélation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html) dans la CloudWatch documentation.
+ **Configuration et gestion des jetons.** Configurez la durée de vie des jetons dans Microsoft Entra ID pour répondre à vos exigences de sécurité. Définissez les jetons d'accès pour qu'ils expirent dans un délai d'une heure et actualisez les jetons pour qu'ils expirent dans les 24 heures. Dans la configuration de AWS Blu Age Runtime (`application-main.yml`), assurez-vous que la validation JWT est correctement configurée avec l'URI exact de l'émetteur et les valeurs d'audience indiquées lors de l'enregistrement de votre application Entra ID.

  Lorsqu'un jeton expire et est actualisé :

  1. L'intercepteur d'erreurs de l'application Angular gère la réponse 401 en obtenant un nouveau jeton via MSAL.

  1. Le nouveau jeton est envoyé avec la demande suivante.

  1. Le OAuth filtre du AWS Blu Age Runtime valide le nouveau jeton et se met automatiquement à jour `SharedContext` avec les informations utilisateur actuelles. Cela garantit que Business Logic continue d'avoir accès à un contexte utilisateur valide par le biais d'`SharedContext.get().getValue()`appels.

  Pour plus d'informations sur les composants de AWS Blu Age Runtime et leurs mises à jour, consultez les [notes de mise à jour de AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html).
+ **Sécurité de l'environnement d'exécution AWS Blu Age.** La `oauth2-ext` bibliothèque fournie par AWS Blu Age doit être placée dans le répertoire partagé approprié (`{app-server-home}/shared/`) avec les autorisations de fichier appropriées. Vérifiez que la bibliothèque extrait correctement les informations utilisateur JWTs en vérifiant la population `SharedContext` d'objets dans vos journaux.
+ **Configuration des réclamations spécifiques.** Dans`application-main.yml`, définissez explicitement les demandes dont vous avez besoin à partir de Microsoft Entra ID. Par exemple, pour capturer l'e-mail et les rôles de l'utilisateur, spécifiez :

  ```
  gapwalk-application:
    security:
      claim:
        claims:
          - claimName: upn
            claimMapValue: username
          - claimName: roles
            claimMapValue: userRoles
          - claimName: email
            claimMapValue: userEmail
  ```
+ **Gestion des erreurs.** Ajoutez la gestion des erreurs pour résoudre les échecs d'authentification dans votre application Angular ; par exemple :

  ```
  @Injectable()
  export class AuthErrorInterceptor implements HttpInterceptor {
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
      return next.handle(request).pipe(
        catchError((error: HttpErrorResponse) => {
          if (error.status === 401) {
            // Handle token expiration
            this.authService.login();
          }
          if (error.status === 403) {
            // Handle unauthorized access
            this.router.navigate(['/unauthorized']);
          }
          return throwError(() => error);
        })
      );
    }
  }
  ```
+ **Configuration du délai d'expiration de session.** Configurez les paramètres de temporisation de session dans le AWS Blu Age Runtime et dans le Microsoft Entra ID. Par exemple, ajoutez le code suivant à votre `application-main.yml` fichier :

  ```
  server:
    servlet:
      session:
        timeout: 3600 # 1 hour in seconds
  ```
+ **MsalGuard.** Vous devez implémenter MsalGuard cette fonctionnalité pour tous les itinéraires protégés afin d'empêcher tout accès non autorisé. Par exemple :

  ```
  const routes: Routes = [
      { path: '', redirectTo: '/transaction-runner', pathMatch: 'full' },
      { path: 'transaction-runner', component: TransactionRunnerComponent, canActivate:guards },
      { path: 'user-info', component: UserInfoComponent, canActivate:guards },
      { path: 'term/:transid/:commarea', component: TermComponent, canActivate:guards },
  	{ path: 'code', component: TransactionRunnerComponent  }
  ];
  ```

  Les itinéraires non MsalGuard protégés seront accessibles sans authentification, ce qui peut exposer des fonctionnalités sensibles. Assurez-vous que toutes les routes qui nécessitent une authentification incluent les gardes dans leur configuration.

## Épopées
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-epics"></a>

### Configurer un identifiant Microsoft Entra
<a name="set-up-a-microsoft-entra-id"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez un compte Microsoft Azure pour créer un identifiant Entra. | Pour les options et les instructions, consultez le [site Web de Microsoft Azure](https://azure.microsoft.com/en-us/free/). | Développeur d’applications | 
| Configurez un identifiant Microsoft Entra dans votre application. | Pour savoir comment ajouter l'authentification Microsoft Entra ID B2C (Azure AD B2C) à votre Angular SPA, consultez la documentation [Microsoft](https://learn.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-angular-spa-app#add-the-authentication-components). En particulier :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Développeur d’applications | 

### Clonez le référentiel et déployez votre code AWS Blu Age
<a name="clone-the-repository-and-deploy-your-aws-blu-age-code"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Clonez le GitHub référentiel pour obtenir le code angulaire requis pour l'authentification. | Exécutez la commande suivante pour cloner le [GitHub référentiel](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app) fourni avec ce modèle dans votre répertoire de travail local actuel :<pre>git clone https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app.git</pre> | Développeur d’applications | 
| Déployez le code modernisé AWS Blu Age sur un serveur Tomcat pour implémenter l'authentification. | Pour configurer l'environnement local qui inclut Tomcat et le serveur de développement Angular, suivez les étapes d'installation fournies par l'équipe AWS Blu Age dans le cadre de votre engagement client auprès des services AWS professionnels. | Développeur d’applications | 

### Créez la solution d'authentification
<a name="build-the-authentication-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Activez la sécurité d'AWS Blu Age Runtime pour protéger les points de terminaison de l'API REST AWS Blu Age. | Configurez le `application-main.yml` fichier utilisé par le AWS Blu Age Runtime comme suit. Pour un exemple de ce fichier, consultez la section [Référentiel de code](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) plus haut dans ce modèle.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Développeur d’applications | 
| Intégrez l'exemple de code de votre environnement local dans votre base de code Angular modernisée de Blu Age. | Pour plus d'informations sur la façon d'intégrer l'exemple dans votre base de code Angular modernisée de AWS Blu Age, consultez la section [Référentiel de code](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) plus haut dans ce modèle. | Développeur d’applications | 
| Placez la `oauth2-ext` bibliothèque dans le répertoire partagé. | **Placez la `oauth2-ext` bibliothèque dans le répertoire**** partagé du serveur d'applications afin que votre application **AWS **Blu Age modernisée puisse l'utiliser.**Exécutez les commandes suivantes :<pre>cd oauth2-ext/target<br />cp extension-oauth-filter-<version>.jar /{app-server-home}/shared/</pre> | Développeur d’applications | 

### Déployer la solution d'authentification
<a name="deploy-the-authentication-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déployez l'application frontale. | Exécutez les commandes suivantes pour démarrer l'application frontale localement :<pre>npm install <br />ng serve --ssl<br />npm start</pre>L'ajout de l'`--ssl`indicateur à la `ng serve` commande garantit que le serveur de développement utilise le protocole HTTPS, qui est plus sécurisé que les autres protocoles et fournit une meilleure simulation d'un environnement de production. | Développeur d’applications | 
| Démarrez l'application principale. | Démarrez le serveur Tomcat dans Eclipse. | Développeur d’applications | 

### Tester l'application
<a name="test-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez la fonctionnalité de connexion. | Accédez à l'application déployée localement `http://localhost:4200` à l'adresse pour vérifier que les utilisateurs sont invités à confirmer leur identité.Le protocole HTTP est utilisé ici à des fins de démonstration. Dans un environnement de production ou tout autre environnement accessible au public, vous devez utiliser le protocole HTTPS pour des raisons de sécurité. Même pour le développement local, nous vous recommandons de configurer le protocole HTTPS lorsque cela est possible.L'invite de connexion Microsoft devrait apparaître et les utilisateurs configurés avec l'identifiant Microsoft Entra devraient être autorisés à accéder à l'application. | Développeur d’applications | 
| Testez l'en-tête d'autorisation dans la demande. | Les étapes suivantes utilisent l'[CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)application comme exemple. Les étapes de test pour les autres applications modernes peuvent varier.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Développeur d’applications | 
| Testez la fonctionnalité de déconnexion. | Choisissez **Quitter** pour vous déconnecter, puis réessayez d'accéder à l'application. Il devrait présenter une nouvelle invite de connexion. | Développeur d’applications | 

## Résolution des problèmes
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Le jeton émis par Microsoft Entra ID n'est pas compatible avec la sécurité Spring Boot OAuth 2.0. | Pour trouver une solution à ce problème, consultez [Microsoft Entra ID OAuth Flow](https://authguidance.com/azure-ad-troubleshooting/) sur le OAuth blog. | 
| Questions générales relatives aux jetons. | Pour décoder et afficher le contenu d'un jeton JWT, utilisez le [site Web https://jwt.io/](https://jwt.io/). | 

## Ressources connexes
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-resources"></a>
+ [Pour plus d'informations sur la refactorisation de votre application à l'aide de AWS Blu Age, consultez la AWS Mainframe Modernization documentation.](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)
+ Pour comprendre le fonctionnement de la OAuth version 2.0, consultez le [site Web de la OAuth version 2.0](https://oauth.net/2/).
+ Pour une présentation de la Microsoft Authentication Library (MSAL), consultez la [documentation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview).
+ Pour plus d'informations sur les profils utilisateur sur un système AS/400, consultez le [didacticiel IBM i (AS400)](https://www.go4as400.com/subsystem-jobs-user-profile-in-as400/jobs.aspx?cid=14).
+ Pour le flux d'authentification OAuth 2.0 et OpenID Connect (OIDC) dans la plateforme d'identité Microsoft, consultez la documentation [Microsoft](https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols) Entra.