Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni su come creare un'app Web per l'accesso degli utenti autenticati da AD FS 2019 e acquisire token utilizzando la libreria MSAL per chiamare le API web.
Prima di leggere questo articolo, è necessario avere familiarità con i concetti di ADFS e il flusso di concessione del codice di autorizzazione
Overview
In questo flusso, si aggiunge l'autenticazione all'app Web (app server), che può quindi autenticare gli utenti ed effettuare chiamate a un'API Web. Dall'applicazione Web, per chiamare l'API Web, utilizzare il metodo di acquisizione del token AcquireTokenByAuthorizationCode di MSAL. Si usa il flusso del codice di autorizzazione, archiviando il token acquisito nella cache dei token. Il controller acquisisce quindi i token in modo invisibile all'utente dalla cache, quando necessario. Se necessario, MSAL aggiorna il token.
App Web che chiama le API Web:
- sono applicazioni client riservate.
- ha registrato un segreto (segreto condiviso con l'applicazione, certificato o account AD) con AD FS. Questo segreto viene passato durante la chiamata ad AD FS per ottenere un token.
Per registrare un'app Web in AD FS e configurarla per acquisire i token per chiamare un'API Web, usare un esempio disponibile qui ed esaminare i passaggi di registrazione dell'app e configurazione del codice.
Pre-requisites
- Strumenti client di GitHub
- AD FS 2019 o versioni successive configurati e in esecuzione
- Visual Studio 2013 o versione successiva
Registrazione di app in AD FS
Questa sezione mostra come registrare l'app Web come client confidenziale e l'API Web come relying party (RP) in AD FS.
In Gestione di AD FS fare clic con il pulsante destro del mouse su Gruppi di applicazioni e selezionare Aggiungi gruppo di applicazioni.
Nella Configurazione guidata Gruppo applicazioni, per Nome immettere WebAppToWebApi e in Applicazioni client-server selezionare il modello Applicazione server che accede a un modello API Web. Fare clic su Avanti.
Copia il valore dell'identificatore Cliente. Il valore viene utilizzato in un secondo momento come valore per ida:ClientId nel file Web.config delle applicazioni. Immettere le informazioni seguenti per URI di reindirizzamento: - https://localhost:44326. Fare clic su Aggiungi. Fare clic su Avanti.
Nella schermata Configura credenziali applicazione, inserire un segno di spunta generare una chiave privata condivisa e copiare la chiave privata. Il valore viene utilizzato in un secondo momento come valore per ida:ClientSecret nel file Web.config delle applicazioni. Fare clic su Avanti.
Nella schermata Configura API Web, immettere l'identificatore:https://webapi. Fare clic su Aggiungi. Fare clic su Avanti. Questo valore verrà usato in un secondo momento per ida:GraphResourceId nel file web.config delle applicazioni.
Nella schermata Applica criteri di controllo degli accessi, selezionare Autorizza tutti e fare clic su Avanti.
Nella schermata Configurare autorizzazioni per l'applicazione assicurarsi che openid e user_impersonation siano selezionati e fare clic su Avanti.
Nella schermata Riepilogo fare clic su Avanti.
Nella schermata Completa fare clic su Chiudi.
Configurazione del codice
Questa sezione mostra come configurare un'app Web ASP.NET per accedere all'utente e recuperare il token per chiamare l'API Web
Scarica l'esempio da qui
Aprire l'esempio utilizzando Visual Studio
Aprire il file Web. config. Modificare quanto segue:
ida:ClientId- immettere l'identificatore del cliente al punto n. 3 della sezione Registrazione app in AD FS.ida:ClientSecret- inserire il valore Secret dal numero 4 nella sezione Registrazione delle app in AD FS.ida:RedirectUri- immettere il valore di Redirect URI dal punto n. 3 della sezione Registrazione app in AD FS.ida:Authority- immettere https://[nome host AD FS]/adfs. Ad esempio,https://adfs.contoso.com/adfsida:Resource- immettere il valore dell'identificatore dal punto 5 nella sezione Registrazione app in AD FS.
Testare l'esempio
In questa sezione viene illustrato come testare l'esempio configurato.
Una volta apportate le modifiche al codice, ricompilare la soluzione.
Nella parte superiore di Visual Studio, verificare che Internet Explorer sia selezionata e fare clic sulla freccia verde.
Nella home page fare clic su Accedi.
Si verrà reindirizzati alla pagina di accesso AD FS. Procedi e accedi.
Dopo l'accesso, fare clic su Token di accesso.
Facendo clic su Token di accesso si ottengono le informazioni sul token di accesso richiamando l'API Web.
Passaggi successivi
Flussi e scenari applicativi di OpenID Connect/OAuth in AD FS