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.
Questa esercitazione illustra come iniziare a creare una ASP.NET Web API, ospitarla nella funzionalità di Azure Web Apps di Azure App Service, abilitare l'autenticazione Microsoft Entra ID e quindi registrare il ASP.NET Web API in Power Automate. Dopo aver registrato l'API, puoi connetterti a essa e chiamarla dal flusso. È inoltre possibile:
- Registrare e chiamare l'API da Power Apps o Azure Logic Apps.
- Integrarsi con Microsoft Copilot Studio.
Prerequisiti
Visual Studio 2013 o versione successiva. Questa esercitazione usa Visual Studio 2015.
Codice per l'API Web. Se non è disponibile, provare questa esercitazione: Introduzione a ASP.NET Web API 2 (C#).
Sottoscrizione Azure. Se non si ha una sottoscrizione, è possibile iniziare con un account free Azure.If you't have a subscription, you can start with a free Azure account. In alternativa puoi iscriverti per una sottoscrizione con pagamento in base al consumo.
Creare e effettuare il deployment di un'app Web ASP.NET in Azure
Per questo tutorial, crea un'app web Visual C# ASP.NET.
Aprire Visual Studio e quindi selezionare File>Nuovo progetto.
Espandere Installato, passare a Templates>Visual C#>Web e quindi selezionare ASP.NET Applicazione Web.
Immetti il nome del progetto, la posizione e il nome della soluzione per la tua app, quindi seleziona OK.
Nella casella Nuova applicazione Web ASP.NET, Selezionare il modello ApiWeb, assicurarsi che la casella di controllo Host nel cloud sia selezionata e quindi selezionare Change Authentication.
Seleziona Nessuna autenticazione, quindi seleziona OK. Puoi impostare l'autenticazione in un secondo momento.
Quando viene visualizzata nuovamente la casella Nuova applicazione Web ASP.NET, selezionare OK.
Nella casella Crea servizio app, rivedi le impostazioni di hosting descritte nella tabella seguente, apporta le modifiche desiderate e seleziona Crea.
Un piano di servizio App rappresenta una raccolta di risorse fisiche usate per l'hosting di app nella sottoscrizione Azure. Informazioni sul servizio app.
Impostazione Valore suggerito Descrzione Il Azure account aziendale o dell'istituto di istruzione o l'account Microsoft personale your-user-account Seleziona il tuo account utente. Nome Applicazione Web custom-web-api-app-name o il nome predefinito Immetti il nome per l'app API Web che viene utilizzato nell'URL dell'app, ad esempio: http://web-api-app-name. Abbonamento Nome-dell'abbonamento-Azure Selezionare la sottoscrizione Azure da usare. Gruppo di risorse Azure-resource-group-name Selezionare un gruppo di risorse Azure esistente oppure, se non è già stato fatto, creare un gruppo di risorse. Note: un gruppo di risorse Azure organizza le risorse Azure nella sottoscrizione Azure.
Piano di servizio app App-Service-plan-name Seleziona un piano di servizio app esistente o, se non lo hai già fatto, crea un piano. Se crei un piano di servizio app, specifica quanto segue.
Impostazione Valore suggerito Descrzione Ubicazione deployment-region Seleziona la regione per distribuire la tua app. Dimensione App-Service-plan-size Seleziona la dimensione del tuo piano, che determina il costo e la capacità delle risorse di calcolo per il tuo piano di servizio. Per configurare qualsiasi altra risorsa richiesta dall'app, selezionare Explore altri servizi di Azure.
Impostazione Valore suggerito Descrzione Tipo di risorsa Azure-resource-type Seleziona e configura eventuali risorse aggiuntive richieste dalla tua app. Dopo che Visual Studio distribuisce il progetto, costruire il codice della tua app.
Creare un file OpenAPI (Swagger) che descrive l'API Web
Per connettere l'app per le API Web a Power Automate, Power Apps o App per la logica, è necessario un file OpenAPI (in precedenza Swagger che descrive le operazioni dell'API. Puoi scrivere la definizione OpenAPI per la tua API con l'editor online Swagger, ma questo tutorial utilizza uno strumento open source denominato Swashbuckle.
Se non è già stato fatto, installare il pacchetto Nuget Swashbuckle nel progetto Visual Studio:
In Visual Studio selezionare Tools>NuGet Package Manager>Package Manager Console.
Nella Package Manager Console, passa alla directory del progetto della tua app se non ci sei già (esegui
Set-Location "project-path") ed esegui questo cmdlet di PowerShell:Install-Package Swashbuckle
Suggerimento
Se esegui la tua app dopo aver installato Swashbuckle, Swashbuckle genera un file OpenAPI a questo URL:
http://{your-web-api-app-root-URL}/swagger/docs/v1
Swashbuckle genera anche un'interfaccia utente a questo URL:
http://{your-web-api-app-root-URL}/swagger
Quando si è pronti, pubblicare l'app per le API Web in Azure. Per pubblicare da Visual Studio, fare clic con il pulsante destro del mouse sul progetto Web in Solution Explorer, selezionare Publish e seguire le istruzioni.
Importante
Se un documento OpenAPI contiene ID operazione duplicata, non sarà valido. Il modello C# di esempio ripete l'ID operazione,
Values_Get.Se hai usato il modello C# di esempio, puoi risolvere questo problema modificando un'istanza dell'ID operazione in
Value_Gete ripubblicandolo.Recupera il documento OpenAPI navigando in questa posizione:
http://{your-web-api-app-root-URL}/swagger/docs/v1
È anche possibile scaricare un documento OpenAPI di esempio da questa esercitazione. Assicurati di rimuovere i commenti, che iniziano con
//, prima di utilizzare il documento.Salva il contenuto come file JSON. A seconda del browser, potrebbe essere necessario copiare e incollare il testo in un file di testo vuoto.
Configurare l'autenticazione Microsoft Entra ID
Ora si creano due applicazioni Microsoft Entra ID in Azure. Per altre informazioni, vedere
Importante
Entrambe le app devono essere nella stessa directory.
Prima applicazione Microsoft Entra ID: Protezione dell'API Web
La prima applicazione Microsoft Entra ID viene usata per proteggere l'API Web. Nominalo webAPI. È possibile abilitare l'autenticazione Microsoft Entra ID nell'API Web seguendo passaggi con i valori seguenti:
- URL di accesso:
https://login.windows.net - URL di risposta:
https://<your-root-url>/.auth/login/aad/callback - Non hai bisogno di una chiave client.
- Non hai bisogno di delegare alcuna autorizzazione.
- Copia l'ID applicazione perché ne avrai bisogno in seguito.
Seconda applicazione Microsoft Entra ID: Protezione del connettore personalizzato e dell'accesso delegato
La seconda applicazione Microsoft Entra ID viene usata per proteggere la registrazione del connettore personalizzato e acquisire l'accesso delegato all'API Web protetta dalla prima applicazione. Dai a questo il nome webAPI-customAPI.
- URL di accesso:
https://login.windows.net - URL di risposta:
https://msmanaged-na.consent.azure-apim.net/redirect - Aggiungi le autorizzazioni per disporre dell'accesso delegato all'API Web.
- Copia l'ID applicazione perché ne avrai bisogno in seguito.
- Genera una chiave client e copiala perché ne avrai bisogno in seguito.
Aggiungere l'autenticazione all'app Web Azure
Accedere al portale Azure e quindi individuare l'app Web distribuita nella prima sezione.
Seleziona Impostazioni, quindi Autenticazione/Autorizzazione.
Attivare App Service Authentication e quindi selezionare Azure Active Directory. Sulla lama successiva, seleziona Express.
Selezionare Selezionare l'app AD esistente e quindi selezionare l'applicazione webAPI Microsoft Entra ID creata in precedenza.
A questo momento dovrebbe essere possibile usare Microsoft Entra ID per autenticare l'app Web.
Aggiungere il connettore personalizzato a Power Automate
- Modificare OpenAPI per aggiungere l'oggetto
securityDefintionse l'autenticazione Microsoft Entra ID usata per l'app Web. La sezione del file OpenAPI contenente la proprietà host dovrebbe avere questo aspetto:
// File header should be above here...
"host": "<your-root-url>",
"schemes": [
"https" //Make sure this is https!
],
"securityDefinitions": {
"Microsoft Entra ID": {
"type": "oauth2",
"flow": "accessCode",
"authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
"tokenUrl" : "https://login.windows.net/common/oauth2/token",
"scopes": {}
}
},
// The rest of the OpenAPI follows...
Passare a Power Automate e aggiungere un connettore personalizzato come descritto in Usare connettori personalizzati in Power Automate.
Dopo aver caricato OpenAPI, la procedura guidata rileva automaticamente che si sta usando l'autenticazione Microsoft Entra ID per l'API Web.
Configurare l'autenticazione Microsoft Entra ID per il connettore personalizzato.
- ID client: ID client di webAPI-CustomAPI
- Segreto Client: Chiave Client di webAPI-CustomAPI
-
URL di accesso:
https://login.windows.net - ResourceUri: ID client di webAPI
- Seleziona Crea per creare una connessione con il connettore personalizzato.
Importante
Se il connettore usa OAuth, è importante monitorare e rinnovare regolarmente l'ID client e le credenziali dei segreti client in scadenza in modo che i clienti possano continuare a usare il connettore. Assicurarsi di inviare l'aggiornamento del connettore un mese prima della data di scadenza dell'ID client e del segreto client.
Informazioni correlate
Altre informazioni sull'autenticazione Microsoft Entra ID
Fornire commenti
L'invio da parte degli utenti di feedback sui problemi riscontrati con la piattaforma di connettori o di idee su nuove funzionalità è molto apprezzato. Per fornire un feedback, vai a Inviare problemi o ottenere assistenza per i connettori e seleziona il tipo di commenti.