Esercitazione: Sviluppare un endpoint SCIM di esempio in Microsoft Entra ID
Questa esercitazione descrive come distribuire il codice di riferimento SCIM con servizio app di Azure. Testare quindi il codice usando uno strumento come cURL o tramite l'integrazione con il servizio di provisioning Di Microsoft Entra. L'esercitazione è destinata agli sviluppatori che vogliono iniziare a usare SCIM o a chiunque sia interessato a testare un endpoint SCIM.
In questa esercitazione apprenderai a:
- Distribuire l'endpoint SCIM in Azure.
- Testare l'endpoint SCIM.
Distribuire l'endpoint SCIM in Azure
La procedura descritta di seguito consente di distribuire l'endpoint SCIM in un servizio usando Visual Studio 2019 e Visual Studio Code con il servizio app di Azure. Il codice di riferimento SCIM può essere eseguito in locale, ospitato da un server locale o distribuito in un altro servizio esterno. Per informazioni sul provisioning di un endpoint SCIM, vedere Esercitazione: Sviluppare e pianificare il provisioning per un endpoint SCIM.
Ottenere e distribuire l'app di esempio
Passare al codice di riferimento da GitHub e selezionare Clona o scarica. Selezionare Apri in Desktop oppure copiare il collegamento, aprire Visual Studio e selezionare Clona o estrai codice per immettere il collegamento copiato e creare una copia locale. Salvare i file in una cartella in cui la lunghezza totale del percorso è di 260 o meno caratteri.
In Visual Studio assicurarsi di accedere all'account che ha accesso alle risorse di hosting.
In Esplora soluzioni aprire Microsoft.SCIM.sln e fare clic con il pulsante destro del mouse sul file Microsoft.SCIM.WebHostSample. Seleziona Pubblica.
Nota
Per eseguire questa soluzione in locale, fare doppio clic sul progetto e selezionare IIS Express per avviare il progetto come pagina Web con un URL host locale. Per altre informazioni, vedere Panoramica di IIS Express.
Selezionare Crea profilo e assicurarsi che servizio app e Crea nuovo siano selezionati.
Scorrere le opzioni della finestra di dialogo e rinominare l'app in un nome di propria scelta. Questo nome viene usato sia nell'app che nell'URL dell'endpoint SCIM.
Selezionare il gruppo di risorse da usare e selezionare Pubblica.
Configurare il servizio app
Passare all'applicazione in Servizio app di Azure>Configurazione e selezionare Nuova impostazione dell'applicazione per aggiungere l'impostazione Token__TokenIssuer con il valore https://sts.windows.net/<tenant_id>/
. Sostituire <tenant_id>
con l'ID tenant di Microsoft Entra.
Quando si testa l'endpoint con un'applicazione aziendale nell' interfaccia di amministrazione di Microsoft Entra, sono disponibili due opzioni. È possibile mantenere l'ambiente in Development
e fornire il token di test dall'endpoint /scim/token
oppure modificare l'ambiente in Production
e lasciare vuoto il campo del token.
Ecco fatto! L'endpoint SCIM è ora pubblicato ed è possibile usare l'URL del servizio app di Azure per testare l'endpoint SCIM.
Testare l'endpoint SCIM
Le richieste a un endpoint SCIM richiedono l'autorizzazione. Lo standard SCIM include più opzioni disponibili. Le richieste possono usare cookie, autenticazione di base, autenticazione client TLS o uno dei metodi elencati in RFC 7644.
Assicurarsi di evitare metodi non sicuri, ad esempio nome utente e password, a favore di un metodo più sicuro, ad esempio OAuth. Microsoft Entra ID supporta token di connessione di lunga durata (per le applicazioni della raccolta e non della raccolta) e la concessione di autorizzazione OAuth (per le applicazioni della raccolta).
Nota
I metodi di autorizzazione forniti nel repository sono solo per i test. Integrandosi con Microsoft Entra ID, è possibile esaminare le indicazioni per l'autorizzazione. Vedere Pianificare il provisioning per un endpoint SCIM.
L'ambiente di sviluppo consente funzionalità non sicure per la produzione, ad esempio il codice di riferimento per controllare il comportamento della convalida del token di sicurezza. Il codice di convalida del token usa un token di sicurezza autofirmato e la chiave di firma viene archiviata nel file di configurazione. Vedere il parametro Token:IssuerSigningKey nel file appsettings.Development.json.
"Token": {
"TokenAudience": "Microsoft.Security.Bearer",
"TokenIssuer": "Microsoft.Security.Bearer",
"IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
"TokenLifetimeInMins": "120"
}
Nota
Quando si invia una richiesta GET all'endpoint /scim/token
, viene emesso un token usando la chiave configurata. Tale token può essere usato come token di connessione per l'autorizzazione successiva.
Il codice di convalida del token predefinito è configurato per l'uso di un token Microsoft Entra e richiede che il tenant emittente sia configurato usando il parametro Token:TokenIssuer nel file appsettings.json.
"Token": {
"TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
"TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}