

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Implementa l'autenticazione basata su Microsoft Entra ID in un'applicazione mainframe modernizzata AWS Blu Age
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application"></a>

*Vishal Jaswani e Rimpy Tewani, Amazon Web Services*

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

**Nota**  
Modernizzazione del mainframe AWS Service (Managed Runtime Environment experience) non è più aperto a nuovi clienti. Per funzionalità simili a Modernizzazione del mainframe AWS Service (Managed Runtime Environment experience), esplora Modernizzazione del mainframe AWS Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Modifica della Modernizzazione del mainframe AWS disponibilità](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

Le applicazioni mainframe modernizzate utilizzando modelli di refactoring, come quelle di [Modernizzazione del mainframe AWS Refactor con AWS Blu Age, richiedono un'attenta integrazione dei meccanismi di autenticazione nella nuova](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html) architettura applicativa. Questa integrazione viene in genere considerata un'attività di post-modernizzazione. L'attività può essere complessa e spesso comporta la migrazione o l'esternalizzazione dei sistemi di autenticazione esistenti per allinearli ai moderni standard di sicurezza e alle pratiche native del cloud. Gli sviluppatori devono considerare come implementare l'autenticazione in modo efficace mentre lavorano entro i limiti dell'ambiente di runtime e delle librerie dell'applicazione modernizzata. Dopo la modernizzazione, AWS offre modi per semplificare l'integrazione del codice moderno AWS Blu Age con sistemi di gestione delle identità e degli accessi come [Amazon](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) Cognito e [Microsoft Entra](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) ID (precedentemente noto come Azure AD).

Questo modello spiega come implementare un meccanismo di autenticazione nell'applicazione modernizzata quando il provider di autenticazione è Microsoft Entra ID, senza perdere tempo in ricerche e prove. Il modello prevede:
+ Librerie Angular testate sul campo e pertinenti della Microsoft Authentication Library (MSAL) e altra documentazione Microsoft Entra ID che sono essenziali per l'implementazione dell'autenticazione. 
+ Configurazioni richieste su AWS Blu Age Runtime per abilitare Spring Security utilizzando 2.0. OAuth 
+ Una libreria che acquisisce le identità degli utenti autenticati e le trasmette a Blu Age Runtime. AWS 
+ Misure di sicurezza che consigliamo di implementare.
+ Suggerimenti per la risoluzione dei problemi più comuni relativi alla configurazione dell'ID Microsoft Entra.

**Nota**  
Questo modello utilizza la libreria di OAuth estensioni AWS Blu Age, fornita ai clienti nell'ambito dei [servizi AWS professionali](https://aws.amazon.com/professional-services/). Questa libreria non fa parte di AWS Blu Age Runtime.

## Prerequisiti e limitazioni
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-prereqs"></a>

**Prerequisiti**
+ Un'applicazione modernizzata prodotta dagli strumenti di refactoring per la modernizzazione del mainframe AWS Blu Age. Questo modello utilizza [CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)come esempio un'applicazione mainframe open source.
+ La libreria di OAuth estensioni AWS Blu Age, fornita dal team AWS Blu Age durante la collaborazione con [AWS Professional Services](https://aws.amazon.com/professional-services/).
+ Un attivo Account AWS per implementare e testare l'applicazione modernizzata.
+ Familiarità con i file di configurazione AWS Blu Age e i fondamenti dell'ID Microsoft Entra.

**Limitazioni**
+ Questo modello copre l'autenticazione OAuth 2.0 e i flussi di autorizzazione di base basati su token. Gli scenari di autorizzazione avanzati e i meccanismi di controllo degli accessi dettagliati non rientrano nell'ambito di applicazione.
+ Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità per regione, vedi [Servizi AWS per regione](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Per endpoint specifici, consulta [Endpoints and quotas del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e scegli il link relativo al servizio.

**Versioni del prodotto**

Questo modello è stato sviluppato utilizzando:
+ AWS Blu Age Runtime versione 4.1.0 (il pattern funziona anche con le versioni successive che sono retrocompatibili)
+ Libreria MSAL versione 3.0.23
+ Java Development Kit (JDK) versione 17
+ Versione Angular 16.1

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

**Stack tecnologico di origine**

Nei tipici ambienti mainframe, l'autenticazione viene implementata tramite profili utente. Questi profili identificano gli utenti del sistema, definiscono chi può accedere e specificano quali funzioni gli utenti possono eseguire sulle risorse di sistema. I profili utente sono gestiti dai responsabili della sicurezza o dagli amministratori della sicurezza.

**Stack tecnologico Target**
+ ID Microsoft Entra
+ Backend modernizzato basato su Java Spring Boot
+ AWS Blu Age Runtime
+ Spring Security con OAuth 2.0
+ Applicazione angolare a pagina singola (SPA)

**Architettura Target**

AWS Il runtime Blu Age supporta l'autenticazione OAuth basata su 2.0 per impostazione predefinita, quindi il pattern utilizza quello standard per proteggere il backend APIs.

Il diagramma seguente illustra il flusso del processo.

**Nota**  
Il diagramma include Amazon Aurora come esempio di modernizzazione del database, sebbene Aurora non sia inclusa nei passaggi di questo modello.

![\[Flusso di processo per l'autenticazione basata su Entra ID per un'applicazione AWS Blu Age.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/e51f24b8-178f-4974-aae9-23a0cc8540f5/images/0fdcdb22-9e46-4b02-86b2-395cba3e2f81.png)


dove:

1. Un utente tenta di autenticarsi con l'ID Microsoft Entra.

1. Microsoft Entra ID restituisce i token di aggiornamento, accesso e ID utilizzati dall'applicazione nelle chiamate successive.

1. L'interceptor MSAL include il token di accesso nell'`Authorization`intestazione di una richiesta HTTPS per chiamare Blu Age Runtime. AWS 

1. La `extension-oauth` libreria AWS Blu Age estrae le informazioni dell'utente dall'intestazione utilizzando un file di configurazione AWS Blu Age Runtime (`application-main.yml`) e inserisce queste informazioni in un `SharedContext` oggetto in modo che la logica aziendale possa utilizzarle.
**Nota**  
`SharedContext`è un componente di runtime fornito da AWS Blu Age che gestisce il contesto e le informazioni sullo stato dell'applicazione modernizzata. Per ulteriori informazioni sui componenti e sugli aggiornamenti di AWS Blu Age Runtime, consulta le [note di rilascio di AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html) nella Modernizzazione del mainframe AWS documentazione. Per ulteriori informazioni sul `application-main.yml` file, consulta [Configurare la configurazione per AWS Blu Age Runtime](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config.html) nella Modernizzazione del mainframe AWS documentazione.

1. Il AWS Blu Age Runtime verifica se il token è presente. 

   1. Se il token è presente, ne verifica la validità comunicando con Microsoft Entra ID. 

   1. Se il token non è presente, AWS Blu Age Runtime restituisce un errore con il codice di stato HTTP 403.

1. Se il token è valido, AWS Blue Age Runtime consente alla logica aziendale di continuare. Se il token non è valido, AWS Blu Age Runtime restituisce un errore con il codice di stato HTTP 403.

**OAuth Flusso di lavoro 2.0**

Per un diagramma di alto livello del flusso di lavoro OAuth 2.0, consulta la documentazione di [Microsoft Entra](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-auth-code-flow#protocol-details).

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

**Servizi AWS**

[Modernizzazione del mainframe AWS](https://docs.aws.amazon.com/m2/latest/userguide/what-is-m2.html)fornisce strumenti e risorse per aiutarvi a pianificare e implementare la migrazione e la modernizzazione dai mainframe agli AWS ambienti di runtime gestiti. È possibile utilizzare le funzionalità di refactoring di questo servizio, fornite da AWS Blu Age, per convertire e modernizzare le applicazioni mainframe esistenti.

**Nota**  
Modernizzazione del mainframe AWS Il servizio (Managed Runtime Environment experience) non è più aperto a nuovi clienti. Per funzionalità simili a Modernizzazione del mainframe AWS Service (Managed Runtime Environment experience), esplora Modernizzazione del mainframe AWS Service (Self-Managed Experience). I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Modifica della Modernizzazione del mainframe AWS disponibilità](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html).

**Archivio di codice**

L' CardDemo applicazione è stata aggiornata per dimostrare l'integrazione con Microsoft Entra ID. È possibile accedere al codice dal [GitHub repository per questo pattern.](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app)

**Configurazione del backend**

Questo modello richiede modifiche al file di `application-main.yml`**** configurazione per abilitare Spring Security utilizzando OAuth 2.0 sull'applicazione di backend.  Il `.yml` file ha il seguente aspetto:

```
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 Libreria di filtri di OAuth estensione Blu Age**

La libreria di OAuth estensioni AWS Blu Age viene fornita dal team AWS Blu Age durante la collaborazione con [AWS Professional Services](https://aws.amazon.com/professional-services/).

Questa libreria legge la `claim.claims` configurazione nel `application-main.yml` file mostrata nel blocco di codice precedente. Questa configurazione è un elenco. Ogni elemento dell'elenco fornisce due valori: `claimName` e`claimMapValue`. `claimName`rappresenta un nome di chiave in un JSON Web Token (JWT) inviato dal frontend ed `claimMapValue` è il nome della chiave in ingresso. `SharedContext` Ad esempio, se desideri acquisire l'ID utente sul backend, imposta `claimName` il nome della chiave nel JWT che contiene l'ID `userId` that fornito da Microsoft Entra e imposta il nome della chiave `claimMapValue` per recuperare l'ID utente nel codice di backend.

Ad esempio, se si imposta `UserId``claimMapValue`, è possibile utilizzare il codice seguente per estrarre l'ID utente:

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

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

Nell'implementazione di questo modello, tenete conto delle seguenti importanti considerazioni sulla sicurezza.

**Importante**  
Questo modello fornisce una base per l'integrazione dell'autenticazione. Si consiglia di implementare misure di sicurezza oltre a quelle illustrate in questa sezione in base ai requisiti aziendali prima di implementarlo in produzione.
+ **AWS sicurezza della configurazione.**Sposta i valori di configurazione sensibili da `application-main.yml` a Gestione dei segreti AWS. Ad esempio, configura le seguenti proprietà utilizzando Secrets Manager:

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

  Per ulteriori informazioni su come utilizzare Secrets Manager per configurare i parametri AWS Blu Age, consulta [AWS Blu Age Runtime secrets](https://docs.aws.amazon.com/m2/latest/userguide/ba-runtime-config-app-secrets.html) nella Modernizzazione del mainframe AWS documentazione.
+ **Protezione dell'ambiente di runtime.** Configura l'ambiente applicativo modernizzato con controlli di AWS sicurezza adeguati:

  ```
  server: 
    tomcat: 
      remoteip: 
       protocol-header: X-Forwarded-Proto 
       remote-ip-header: X-Forwarded-For 
    forward-headers-strategy: NATIVE
  ```
+ ** CloudWatch Registrazione su Amazon.** Valuta la possibilità di aggiungere il file`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>
  ```

  Per informazioni sull'abilitazione del tracciamento con CloudWatch, consulta [Enable trace to log correlation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html) nella CloudWatch documentazione.
+ **Configurazione e gestione dei token.** Configura la durata dei token in Microsoft Entra ID per allinearla ai tuoi requisiti di sicurezza. Imposta la scadenza dei token di accesso entro 1 ora e aggiorna i token in modo che scadano entro 24 ore. Nella configurazione AWS Blu Age Runtime (`application-main.yml`), assicurati che la convalida JWT sia configurata correttamente con l'URI esatto dell'emittente e i valori di audience rilevati durante la registrazione dell'applicazione Entra ID.

  Quando un token scade e viene aggiornato:

  1. L'intercettore degli errori dell'applicazione Angular gestisce la risposta 401 ottenendo un nuovo token tramite MSAL.

  1. Il nuovo token viene inviato con la richiesta successiva.

  1. Il OAuth filtro di AWS Blu Age Runtime convalida il nuovo token e si aggiorna automaticamente `SharedContext` con le informazioni utente correnti. Ciò garantisce che la business logic continui ad avere accesso a un contesto utente valido tramite `SharedContext.get().getValue()` chiamate.

  Per ulteriori informazioni sui componenti AWS Blu Age Runtime e sui relativi aggiornamenti, consulta le [note di rilascio di AWS Blu Age](https://docs.aws.amazon.com/m2/latest/userguide/ba-release-notes.html).
+ **Sicurezza di AWS Blu Age Runtime.** La `oauth2-ext` libreria fornita da AWS Blu Age deve essere collocata nella posizione corretta della directory condivisa (`{app-server-home}/shared/`) con le autorizzazioni appropriate per i file. Verifica che la libreria estragga correttamente le informazioni dell'utente JWTs controllando la popolazione degli `SharedContext` oggetti nei tuoi log.
+ **Configurazione dei reclami specifici.** Nel`application-main.yml`, definisci in modo esplicito le attestazioni di cui hai bisogno da Microsoft Entra ID. Ad esempio, per acquisire l'e-mail e i ruoli dell'utente, specifica:

  ```
  gapwalk-application:
    security:
      claim:
        claims:
          - claimName: upn
            claimMapValue: username
          - claimName: roles
            claimMapValue: userRoles
          - claimName: email
            claimMapValue: userEmail
  ```
+ **Gestione degli errori.** Aggiungi la gestione degli errori per risolvere gli errori di autenticazione nella tua applicazione Angular; ad esempio:

  ```
  @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);
        })
      );
    }
  }
  ```
+ **Configurazione del timeout della sessione.** Configura le impostazioni di timeout della sessione sia in AWS Blu Age Runtime che in Microsoft Entra ID. Ad esempio, aggiungi il codice seguente al tuo `application-main.yml` file:

  ```
  server:
    servlet:
      session:
        timeout: 3600 # 1 hour in seconds
  ```
+ **MsalGuard.** È necessario implementare la MsalGuard funzionalità per tutte le rotte protette per impedire l'accesso non autorizzato. Esempio:

  ```
  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  }
  ];
  ```

  Le rotte prive di MsalGuard protezione saranno accessibili senza autenticazione, esponendo potenzialmente funzionalità sensibili. Assicurati che tutte le rotte che richiedono l'autenticazione includano le guardie nella loro configurazione.

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

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


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura un account Microsoft Azure per creare un ID Entra. | Per opzioni e istruzioni, consulta il [sito Web di Microsoft Azure](https://azure.microsoft.com/en-us/free/). | Sviluppatore di app | 
| Configura un ID Microsoft Entra nella tua applicazione. | [Per sapere come aggiungere l'autenticazione Microsoft Entra ID B2C (Azure AD B2C) alla tua Angular SPA, consulta la documentazione Microsoft.](https://learn.microsoft.com/en-us/azure/active-directory-b2c/enable-authentication-angular-spa-app#add-the-authentication-components) Nello specifico:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Sviluppatore di app | 

### Clona il repository e distribuisci il tuo codice Blu Age AWS
<a name="clone-the-repository-and-deploy-your-aws-blu-age-code"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il GitHub repository per ottenere il codice Angular richiesto per l'autenticazione. | Esegui il seguente comando per clonare il [GitHub repository](https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app) fornito con questo pattern nella tua directory di lavoro corrente locale:<pre>git clone https://github.com/aws-samples/sample-microsoft-entra-id-based-auth-in-aws-bluage-modernized-mainframe-app.git</pre> | Sviluppatore di app | 
| Implementa il codice modernizzato AWS Blu Age su un server Tomcat per implementare l'autenticazione. | Per configurare l'ambiente locale che include Tomcat e il server di sviluppo Angular, segui i passaggi di installazione forniti dal team AWS Blu Age nell'ambito del coinvolgimento dei clienti con Professional Services. AWS  | Sviluppatore di app | 

### Crea la soluzione di autenticazione
<a name="build-the-authentication-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Abilita la sicurezza di AWS Blu Age Runtime per proteggere gli endpoint dell'API REST di AWS Blu Age. | Configura il `application-main.yml` file utilizzato da AWS Blu Age Runtime come segue. Per un esempio di questo file, consultate la sezione [Code repository riportata](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) in precedenza in questo modello.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Sviluppatore di app | 
| Incorpora il codice di esempio dal tuo ambiente locale nella tua base di codice Angular modernizzata di Blu Age. | Per informazioni su come incorporare l'esempio nella tua base di codice Angular modernizzata da AWS Blu Age, consulta la sezione [Code repository](#implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-tools) precedente in questo modello. | Sviluppatore di app | 
| Posiziona la `oauth2-ext` libreria nella directory condivisa. | **Posiziona la `oauth2-ext` libreria nella directory**** condivisa del server delle applicazioni in modo che la tua applicazione modernizzata **AWS **Blu Age possa utilizzarla.**Esegui i comandi seguenti:<pre>cd oauth2-ext/target<br />cp extension-oauth-filter-<version>.jar /{app-server-home}/shared/</pre> | Sviluppatore di app | 

### Implementa la soluzione di autenticazione
<a name="deploy-the-authentication-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Implementa l'applicazione frontend. | Esegui i seguenti comandi per avviare l'applicazione frontend localmente:<pre>npm install <br />ng serve --ssl<br />npm start</pre>L'aggiunta del `--ssl` flag al `ng serve` comando garantisce che il server di sviluppo utilizzi HTTPS, che è più sicuro di altri protocolli e fornisce una migliore simulazione di un ambiente di produzione. | Sviluppatore di app | 
| Avvia l'applicazione di backend. | Avvia il server Tomcat in Eclipse. | Sviluppatore di app | 

### Eseguire il test dell’applicazione
<a name="test-the-application"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica la funzionalità di accesso. | Accedi all'applicazione distribuita localmente all'indirizzo `http://localhost:4200` per verificare che agli utenti venga chiesto di confermare la propria identità.HTTP viene utilizzato qui a scopo dimostrativo. In un ambiente di produzione o in un altro ambiente accessibile al pubblico, è necessario utilizzare HTTPS per motivi di sicurezza. Anche per lo sviluppo locale, ti consigliamo di configurare HTTPS quando possibile.Dovrebbe apparire la richiesta di accesso Microsoft e gli utenti configurati in Microsoft Entra ID dovrebbero poter accedere all'applicazione. | Sviluppatore di app | 
| Verifica l'intestazione di autorizzazione nella richiesta. | I passaggi seguenti utilizzano l'[CardDemo](https://github.com/aws-samples/aws-mainframe-modernization-carddemo)applicazione come esempio. Le fasi di test per altre applicazioni moderne possono variare.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application.html) | Sviluppatore di app | 
| Verifica la funzionalità di disconnessione. | Scegli **Esci** per disconnetterti e riprova ad accedere all'applicazione. Dovrebbe presentare una nuova richiesta di accesso. | Sviluppatore di app | 

## risoluzione dei problemi
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| Il token emesso da Microsoft Entra ID non è compatibile con la sicurezza Spring Boot OAuth 2.0. | Per una risoluzione del problema, vedi [Microsoft Entra ID OAuth Flow](https://authguidance.com/azure-ad-troubleshooting/) sul OAuth blog. | 
| Domande generali relative ai token. | [Per decodificare e visualizzare il contenuto di un token JWT, utilizza il sito Web https://jwt.io/.](https://jwt.io/) | 

## Risorse correlate
<a name="implement-entra-id-authentication-in-aws-blu-age-modernized-mainframe-application-resources"></a>
+ [Per informazioni sul refactoring dell'applicazione utilizzando AWS Blu Age, consulta la documentazione.Modernizzazione del mainframe AWS](https://docs.aws.amazon.com/m2/latest/userguide/refactoring-m2.html)
+ Per capire come funziona la OAuth versione 2.0, visitate il sito Web [OAuth 2.0](https://oauth.net/2/).
+ Per una panoramica della Microsoft Authentication Library (MSAL), consulta la [documentazione di Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview).
+ Per informazioni sui profili utente su un sistema AS/400, consulta il tutorial [IBM i (AS4](https://www.go4as400.com/subsystem-jobs-user-profile-in-as400/jobs.aspx?cid=14)00).
+ [Per il flusso di autenticazione OAuth 2.0 e OpenID Connect (OIDC) nella piattaforma di identità Microsoft, consulta la documentazione di Microsoft Entra.](https://learn.microsoft.com/en-us/entra/identity-platform/v2-protocols)