Questo tutorial illustra come creare un provider nativo di OAuth utilizzando l'interfaccia utente di API Manager.
Prima di iniziare
Questa esercitazione utilizza l'API predefinita di FindBranch. Per preparare l'ambiente per questa esercitazione, completare le seguenti operazioni:
- Aggiungi il DataPower® API Gateway servizio al catalogo Sandbox come spiegato nella sezione Creazione e configurazione dei cataloghi.
Il catalogo Sandbox deve essere configurato per utilizzare almeno un gateway. Per questa esercitazione, è necessario usare lo stesso gateway utilizzato dall'API FindBranch.
- Importa l'API " FindBranch " e attivala seguendo le istruzioni fornite nel tutorial " Tutorial: Importazione di un'API ".
Creare un provider nativo per l' OAuth
Per creare un provider nativo di tipo " OAuth " in API Manager, configurare un registro utenti che utilizzi un sistema di autenticazione esterno URL per verificare gli utenti, quindi creare un provider per autenticare gli utenti che effettuano l'accesso tramite tale registro.
- Crea un registro utenti che possa essere utilizzato per l'autenticazione degli utenti con OAuth :
- Accedere a API Manager.
- Nella pagina iniziale, fare clic sul riquadro Gestione risorse.

- Nella pagina Risorse, nel riquadro di sinistra, selezionare Registri utente.
- Nella sezione Registri utente, fare clic su Crea.
- Nella pagina Crea registro utente, selezionare il riquadro del registro utente Autenticazione URL. Nella pagina Crea registro utente, fare clic su Autenticazione URL Registro utente come tipo di registro utente selezionato.

- Nella pagina Create authentication URL user registry, inserire le seguenti informazioni.
- Nei campi Titolo e Nome visualizzato, inserire AuthURL.
Inserendo AuthURL nei campi Titolo e Nome visualizzato, si può facilmente determinare che questo registro è configurato con un'autenticazione URL.
- Nel campo URL inserire https://httpbin.org/basic-auth/user/password.
Nota: il sito URL fornito qui è solo a scopo di test. L'endpoint
httpbin.org offre un ambiente di prova in cui è possibile simulare un accesso con autenticazione di base, passando nell'intestazione di autorizzazione credenziali che corrispondono ai parametri di percorso {user} e {password}.
- Dal menu a tendina "Profilo cliente" (facoltativo) dell' TLS, selezionare No TLS profile.
- Fare clic su Salva.

Viene visualizzata la pagina Risorse con il nuovo registro incluso nell'elenco.
- Per creare un provider OAuth per l'autenticazione degli utenti che effettuano l'accesso tramite il registro AuthURL, eseguire le operazioni seguenti.
- Nell'elenco di navigazione della pagina Risorse, fare clic su "Fornitori di servizi di assistenza sanitaria" ( OAuth ).

- Nella sezione " OAuth " (Fornitori ), fare clic su .

Viene visualizzata la pagina "Crea provider nativo per l' OAuth ".
- Nella sezione relativa al provider Native OAuth, inserisci le seguenti informazioni.
- Nel campo Titolo, inserire MyNativeOAuthProvider.
- Nella sezione Tipo di gateway, selezionare il pulsante di opzione DataPower API Gateway (lo stesso gateway utilizzato da FindBranch API).
Nota: ogni provider nativo di OAuth è associato a un solo tipo di gateway. Il tipo di gateway selezionato deve corrispondere al tipo di gateway utilizzato dall'API che verrà protetta con questo nuovo provider.
- Fare clic sul pulsante Avanti.

- Nella sezione Tipi di sovvenzione supportati, eseguire le seguenti operazioni.
- Selezionate la casella di controllo Codice di accesso e deselezionate tutti gli altri tipi di sovvenzione.
Si noti che questo tutorial utilizza un unico tipo di sovvenzione per illustrare il funzionamento del provider nativo " OAuth ".
- Fare clic sul pulsante Avanti.

- Nella sezione Scopi, eseguire le seguenti operazioni.
- Fare clic su
per eliminare l'ambito predefinito.
- Fare clic su Aggiungi per definire l'ambito dell'API che sarà protetta dal provider nativo OAuth.
- Nel campo Nome, inserire details.
- Nel campo Descrizione, inserire Branch
details
- Fare clic sul pulsante Avanti.

- Nella sezione Endpoint di autorizzazione, eseguire le seguenti operazioni.
- Nella sezione Autenticazione, dall'elenco a discesa Autenticare gli utenti dell'applicazione utilizzando, selezionare AuthURL.
- Fare clic sul pulsante Avanti.

- Nella sezione "Riepilogo del provider" di Native OAuth, controlla le impostazioni e poi fai clic su "Fine".
Una volta salvato il nuovo fornitore, le sue informazioni sono disponibili per la modifica e vengono visualizzate nella pagina Info.
- Nella pagina Info, eseguire le seguenti operazioni.
- Selezionare la casella di controllo Abilita intestazioni di risposta di debug.
Selezionando questa casella di controllo, i dettagli degli errori vengono inseriti nelle intestazioni delle risposte quando si verificano dei problemi.
- Fare clic su Salva.

Il nuovo provider nativo per l' OAuth e è ora completo.
- Per configurare il registro AuthURL in modo che funzioni come registro utente API nel catalogo Sandbox, eseguire le seguenti operazioni.
- Nel riquadro di navigazione, fare clic sull'icona Gestione
.
- Nella pagina Gestione, fare clic sul riquadro del catalogo Sandbox.

Viene visualizzata la pagina Prodotti.
- Nella barra dei menu, selezionare Impostazioni catalogo.

- Nel riquadro di sinistra, fare clic su Registri utenti API.
- Nella sezione Aggiungi registri utente API, fare clic su Modifica.

- Nella pagina Modifica registri utenti API, eseguire le seguenti operazioni.
- Selezionare la casella AuthURL casella di controllo.
- Fare clic su Salva.

Il nuovo registro viene visualizzato nell'elenco dei registri utente API, come mostrato nell'immagine seguente.

- Per configurare il provider nativo OAuth e renderlo disponibile nell'interfaccia di API Manager, eseguire le operazioni seguenti.
- Selezionare .
- Nel riquadro di sinistra, fare clic su " OAuth providers ".
- Nella sezione "Fornitori" ( OAuth ), clicca su "Modifica ".

- Nella pagina Modifica provider " OAuth ", eseguire la seguente operazione.
- Selezionare la MyNativeOAuthProvider casella di controllo.
- Fare clic su Salva.

MyNativeOAuthProvider viene visualizzato nell'elenco dei provider configurati che è possibile utilizzare con API Manager.
Aggiungere la protezion OAuth a a un'API
Crea una definizione di sicurezza per l'API FindBranch e includi le informazioni relative al tuo provider nativo OAuth.
- Andare alla pagina iniziale di API Manager.

- Nella pagina iniziale, fare clic sull'icona
Develop.In alternativa, selezionare il riquadro Sviluppare API e prodotti.
- Nella pagina Sviluppo, in API, selezionare l'API che si desidera modificare. Ad esempio, FindBranch.

- Nella pagina FindBranch Pagina Progettazione dell'API, eseguire le seguenti operazioni.
- Nel riquadro di navigazione sinistro, selezionare Schemi di sicurezza.

- Nella sezione Schemi di sicurezza, fare clic su Aggiungi.

- Nella finestra a comparsa Aggiungi schema, eseguire le seguenti operazioni.
- Nel campo Nome della definizione di sicurezza (chiave), inserire FindBranchOA.
- Dall'elenco a discesa Tipo, selezionare oauth2.
- Dall'elenco a discesa "Fornitore di servizi ( OAuth ) (Nome)" (facoltativo), selezionare " MyNativeOAuthProvider ".
- Dall'elenco a discesa Flusso, selezionare Access
Code.
- Mantenere i valori precompilati nei campi Authorization Url e Token Url.
- Fare clic su Aggiungi.

FindBranchOA è ora visualizzato sotto Schemi di sicurezza.

- Nel riquadro di destra, nella sezione " FindBranchOA ", fare clic sul collegamento "Dettagli" e verificare che venga visualizzato l'ambito definito per il provider nativo " OAuth ".

- Nell'angolo superiore destro della pagina, fare clic su Salva.
- Nel riquadro di navigazione sinistro, selezionare Sicurezza.

- Nella sezione Requisiti di sicurezza, eseguire le seguenti operazioni.
- Fare clic su Aggiungi.
- Nella finestra a comparsa Aggiungi schema, selezionare i campi ClientID e FindBranchOA e fare clic su Aggiungi.

FindBranchOA è ora visualizzato nella sezione Requisiti di sicurezza.
- Accanto a FindBranchOA, nell'elenco a discesa Scopes, selezionare details.
- Nell'angolo in alto a destra, fare clic su Salva.

Aggiunta di un reindirizzamento OAuth all'app di prova Sandbox
Per testare la funzionalità " OAuth " all'interno di API Manager, utilizzare l'applicazione "Sandbox Test App". L'app Sandbox Test è inclusa nel catalogo Sandbox e viene automaticamente abbonata al prodotto predefinito per ogni API creata nel catalogo, in modo da essere sempre disponibile per testare le API in API Manager.
Nota: prima di utilizzare l'applicazione per eseguire test su OAuth, è necessario aggiornarla in modo da includere un reindirizzamento da OAuth a URL.
- Andare alla pagina iniziale di API Manager.

- Nella Home, nel riquadro di navigazione, fare clic su Gestisci
.
- Nella pagina Gestione, fare clic sul riquadro del catalogo Sandbox.

Viene visualizzata la pagina Prodotti.
- Nella barra dei menu, fare clic su Applicazioni.
- Dall'elenco delle applicazioni, selezionare l'applicazione Sandbox Test App.

Viene visualizzata la pagina Modifica applicazione.
- Nella pagina Modifica applicazione, eseguire le seguenti operazioni.
- Nella sezione "URL di reindirizzamento (facoltativo)" dell' OAuth, clicca sul pulsante "Aggiungi reindirizzamento" URL.
- Nel campo "URL di reindirizzamento (facoltativo) " di OAuth, inserisci https://example.com/redirect
Sebbene questo campo sia facoltativo, è necessario inserire il valore relativo al flusso di autorizzazione nel proprio provider OAuth. Per testare l' OAuth all'interno di API Manager, l' URL può assumere qualsiasi valore formattato come un URL corretto, ma è necessario utilizzare lo stesso valore quando si specifica l' URL di reindirizzamento durante il test.
- Dopo aver inserito il valore nel campo "URL di reindirizzamento di OAuth " (facoltativo), clicca sull'icona "Completa" per salvare il valore.

- Fare clic su Salva per aggiornare la domanda.

Verifica l'implementazione della sicurezza dell' OAuth
Nota: a causa delle restrizioni relative alla condivisione delle risorse tra domini diversi ( CORS ), lo strumento di test degli assembly non può essere utilizzato con i browser Chrome o Safari sulla piattaforma macOS Catalina.
Per testare l'implementazione di OAuth, esegui un'API dall 'API Manager utilizzando l'app di test Sandbox.
Nota: prima di eseguire l'API,
- È necessario pubblicare il prodotto per garantire che l'ultimo aggiornamento sia online e disponibile per i test.
- È necessario ottenere un codice di autorizzazione e poi utilizzarlo per ottenere un token di accesso che consente di eseguire l'API.
- Andare alla pagina iniziale di API Manager.

- Nella pagina iniziale, fare clic sull'icona
Develop.In alternativa, selezionare il riquadro Sviluppare API e prodotti.
- Nella pagina Develop, selezionare l'API da testare. Ad esempio, FindBranch.
- Nella barra dei menu, selezionare Test.
- Nella pagina Test, eseguire le seguenti operazioni.
- Fare clic su .

- Nella finestra pop-up Autorizza, eseguire le seguenti operazioni.
- Selezionare la Oauth2 scheda.
- Nel campo ID cliente, inserire l'ID del cliente.
- Nel campo Segreto del cliente, inserire il segreto del cliente.
- In corrispondenza di Scopi, selezionare la casella di controllo Dettagli.
- Nel campo Nome utente, inserire user.
- Nel campo Password, inserire password.
- Fare clic sulla scheda Ottieni token.
- Nella finestra di dialogo a comparsa, inserire le credenziali di accesso a API Manager e quindi fare clic su Accedi o premere INVIO.

Il token di accesso viene generato e visualizzato nella finestra pop-up Authorize.
- Nella sezione Token di accesso, copiare il token.

- Fare clic su Applica.
- Nella barra dei menu, selezionare Esplora risorse.
- Nella pagina Explorer, nel riquadro di sinistra, selezionare GET/details.
- Nel riquadro di destra, nella sezione GET : /details, eseguire le seguenti operazioni.
- Selezionare la scheda Prova.

- Nel campo Segreto API, inserire il segreto del cliente.
- Nella sezione Autorizzazione, eseguire le seguenti operazioni.
- Selezionare la casella di controllo Dettagli.
- Nel campo URI di reindirizzamento, inserire https://example.com/redirect.
- Per ottenere il codice di autorizzazione, scorrere verso il basso e fare clic su Autorizza.
- Nella finestra di dialogo a comparsa, nel campo ID utente immettere user, nel campo Password immettere password, quindi fare clic su Accedi o premere INVIO.

Una volta effettuata l'autenticazione, il browser viene reindirizzato a una finestra che visualizza la pagina del reindirizzamento URL. Il vostro codice di autorizzazione è incluso nella barra degli indirizzi come parametro del sito URL.
Il codice di autorizzazione viene inserito nella barra degli indirizzi come parametro del sito URL, come mostrato nell'immagine seguente. Se URL è https://example.com/redirect?code=AAPl-yX6XVtdROcU4_WJhETLPLjLOJoJIpAYSFf7-4FxcNJ2XfXbMWpu8LnruLtcgmkdjNeDstRi0aO-d8bZX888iQYrtyhfrYSgADZgWy84nw, il codice di autorizzazione è AAPl-yX6XVtdROcU4_WJhETLPLjLOJoJIpAYSFf7-4FxcNJ2XfXbMWpu8LnruLtcgmkdjNeDstRi0aO-d8bZX888iQYrtyhfrYSgADZgWy84nw.

- Copia il codice di autorizzazione dalla pagina URL nella barra degli indirizzi della finestra, copiando tutto ciò che segue "code=".

Ad esempio:
https://example.com/redirect?code=AALMmZCyKnhY1HpZGfpHkFH7wDdsNh9R2hgDfGwMVgdEzBOTlnq5LPZ3x6RFPa3V7CzsGacH8LLGlafnqa3ntbh921n5rJE7W0_jC1cAtzcZEg
- Nel campo Autorizza, inserire il codice di autorizzazione.
- Fare clic su Ottieni token per ottenere il token di accesso.
Se l'autorizzazione ha esito positivo, il Get Token viene ora riempito con il codice di accesso.
Suggerimento: se il token di accesso non appare e viene visualizzato un messaggio relativo alla scadenza del codice di autorizzazione, tornare al passaggio precedente per richiedere un nuovo codice di autorizzazione e utilizzarlo per generare il token di accesso.
- Fare clic su Invia.
L'API FindBranch La risposta dell'API mostra il codice di stato200. È possibile visualizzare le informazioni sulle intestazioni della risposta e le informazioni sul corpo che contengono i dati di ciascuna filiale bancaria.
È possibile scorrere verso il basso e visualizzare le informazioni nella sezione Risposta.


Cosa hai imparato in questa esercitazione
In questa esercitazione, hai completato le seguenti attività:
- È stato creato un registro utenti da utilizzare con un provider OAuth.
- È stato creato un provider nativo per l' OAuth e e reso disponibile nel catalogo.
- È stata aggiunta la protezione " OAuth " a un'API.
- È stata aggiornata l'app di prova Sandbox (applicazione client) per fornire un reindirizzamento a OAuth a scopo di test.
- Ho verificato la sicurezza dell' OAuth : ho ottenuto un codice di autorizzazione, l'ho scambiato con un token di accesso e ho richiamato l'API protetta.