Skapa ett anpassat anslutningsprogram för ett webb-API

Dessa självstudier visar dig hur du börjar skapa ett webb-API för ASP.NET, lagrar det i funktionen Azure Web Apps i Azure App Service, aktiverar Microsoft Entra ID-autentisering och sedan registrerar webb-API:t för ASP.NET i Power Automate. När API:et har registrerats kan du ansluta till det och anropa det från ditt flöde. Du kan också registrera och anropa API:et via Power Apps eller Azure Logic Apps.

Förutsättningar

Skapa och distribuera ett ASP.NET webbprogram till Azure

I den här självstudien skapar du ett Visual C# ASP.NET webbprogram.

  1. Öppna Visual Studio och välj Fil > Nytt projekt.

    1. Expandera Installerat, gå till Mallar > Visual C# > Webb och välj ASP.NET webbprogram.

    2. Ange ett projektnamn, en plats och ett lösningsnamn för appen och välj sedan OK.

    Skärmbild med ett nytt Visual C#- ASP.NET webbprogram.

  2. I rutan Ny ASP.NET webbapp välj mallen Webb-API, se till att kryssrutan Värd i molnet markeras och välj Ändra autentisering.

    Skärmbild som visar den nya dialogrutan ASP.NET webbprogram.

  3. Välj Ingen autentisering och välj OK. Du kan konfigurera autentisering senare.

    Välj Ingen autentisering.

  4. När rutan Nytt ASP.NET webbprogram visas igen väljer du OK.

  5. I rutan Skapa App Service granskar du värdinställningarna som beskrivs i tabellen, gör de ändringar du vill och väljer Skapa.

    En App Service-plan representerar en samling fysiska resurser som används för att vara värd för appar i din Azure-prenumeration. Läs mer om App Service.

    Skapa App Service.

    Inställning Föreslaget värde Beskrivning
    Ditt Azure jobb- eller skolkonto eller ditt personliga Microsoft-konto ditt-användarkonto Markera ditt användarkonto.
    Webbappnamn anpassat-webb-api-app-namn eller standardnamn Ange namnet på din webb-API-app, som används i appens URL, till exempel: http://webb-api-app-namn.
    Prenumeration Namn-på-Azure-prenumeration Välj den Azure-prenumeration som du vill använda.
    Resursgrupp Namn-på-Azure-resursgrupp Välj en befintlig Azure-adressresursgrupp eller skapa en resursgrupp om du inte redan har gjort det.

    Obs! En Azure-resursgrupp ordnar Azure-resurser i din Azure-prenumeration.

    App Service-plan App-Service-plan-namn Välj en befintlig App Service-plan, eller om du inte redan har gjort det, skapa en plan.

    Om du skapar en App Service-plan ska du anger du följande.

    Inställning Föreslaget värde Beskrivning
    Location distributionsregion Välj region för distribution av appen.
    Storlek App-Service-plan-storlek Välj din planstorlek, som bestämmer kostnads- och beräkningskapacitet för din tjänstplan.

    Om du vill konfigurera andra resurser som krävs av appen väljer du utforska ytterligare Azure-tjänster.

    Inställning Föreslaget värde Beskrivning
    Resurstyp Azure-resurstyp Välj och konfigurera ytterligare resurser som krävs av appen.
  6. När Visual Studio har distribuerat ditt projekt, skapa då koden för din app.

Skapa en OpenAPI(Swagger)-fil som beskriver ditt webb-API

För att kunna ansluta din webb-API-app till Power Automate, Power Apps eller Logic Apps behöver du en OpenAPI(tidigare Swagger)-fil som beskriver dina API-åtgärder. Du kan skriva din egen OpenAPI-definition för ditt API med Swagger-onlineredigeraren, men dessa självstudier använder ett verktyg med öppen källkod kallat Swashbuckle.

  1. Om du inte redan har gjort det kan du installera Swashbuckle NuGet-paketet i Visual Studio projektet:

    1. I Visual Studio, välj Verktyg > NuGet pakethanterare > Pakethanterarkonsol.

    2. I Pakethanterarkonsol, går du till programmets projektkatalog om du inte redan har gjort det (kör Set-Location "project-path") och kör den här PowerShell-cmdleten:

      Install-Package Swashbuckle

      Skärmbild som visar att Swashbuckle har installerats med Pakethanterarkonsol.

    Tips

    Om du kär ditt program efter det att du har installerat Swashbuckle kommer Swashbuckle att generera en OpenAPI-fil på följande URL:

      http://{your-web-api-app-root-URL}/swagger/docs/v1

    Swashbuckle genererar även ett användargränssnitt på denna URL:

      http://{your-web-api-app-root-URL}/swagger

  2. Nu är du redo publicera Webb-API-appen till Azure. Om du vill publicera från Visual Studio, högerklicka då på ditt webbprojekt i Solution Explorer, välj Publicera och följ uppmaningarna.

    Viktigt

    Om ett OpenAPI dokument innehåller dubbla åtgärds-ID:n ogitligt. Exempelmallen C# upprepar åtgärds-ID: Values_Get

    Om du använde exempelmallen C# kan du åtgärda det här problemet genom att ändra en åtgärds-ID-instans till Value_Get och publicera på nytt.

  3. Hämta OpenAPI-dokumentet genom att bläddra fram till denna plats:

    http://{your-web-api-app-root-URL}/swagger/docs/v1

    Du kan också ladda ned ett OpenAPI-exempeldokument från dessa självstudier. Se till att du tar bort kommentarerna, som inleds med //, innan du använder dokumentet.

  4. Spara innehållet som en JSON-fil. Beroende på din webbläsare kan du behöva kopiera och klistra in den i en tom textfil.

Ställ in Microsoft Entra ID autentisering

Nu skapar du två Microsoft Entra ID-program i Azure. Mer information finns i Integrera program med Microsoft Entra ID.

Viktigt

Båda apparna måste vara i samma katalog.

Första Microsoft Entra ID-programmet: skydda Web API

Det första Microsoft Entra ID-programmet används för att skydda webb-API. Döp det till webAPI. Du kan aktivera Microsoft Entra ID-autentisering på din webb-API genom att följa dessa steg med följande värden:

  • Inloggnings-URL: https://login.windows.net
  • Svars-URL:https://<your-root-url>/.auth/login/aad/callback
  • Du behöver ingen klientnyckel.
  • Du behöver inte delegera några behörigheter.
  • Kopiera program-ID eftersom du behöver det senare.

Andra Microsoft Entra ID-programmet: Skydda anpassad anslutning och delegerad åtkomst

Det andra Microsoft Entra ID-programmet används för att skydda registreringen av den anpassade anslutningen och få delegerad åtkomst till webb-API:t som skyddas av det första programmet. Döp det till webAPI-customAPI .

  • Inloggnings-URL: https://login.windows.net
  • Svars-URL:https://msmanaged-na.consent.azure-apim.net/redirect
  • Lägg till behörigheter för att få begränsad åtkomst till webb-API.
  • Kopiera program-ID eftersom du behöver det senare.
  • Generera en klientnyckel och kopiera den eftersom du behöver den senare.

Lägg till autentisering i din Azure-webbapp

  1. Logga in på Azure-portalen och hitta webbappen som du distribuerade i det första avsnittet.

  2. Klicka på Inställningar, och välj sedan Autentisering/Auktorisering.

  3. Aktivera App Service-autentisering och välj sedan Azure Active Directory. Välj Express på nästa blad.

  4. Klicka på Välj befintlig AD-app och välj det webAPI Microsoft Entra ID-program som du skapade tidigare.

Du bör nu kunna använda Microsoft Entra ID för att autentisera din webbapp.

Lägg till det anpassade anslutningsprogrammet i Power Automate

  1. Ändra ditt OpenAPI i syfte att lägga till securityDefintions-objektet och den Microsoft Entra ID-autentisering för webbappen. Detta avsnitt av ditt OpenAPI med egenskapen värd bör se ut som följer:
// 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...
  1. Gå till Power Automate och lägg till ett anpassat anslutningsprogram enligt beskrivningen i Använd anpassade anslutningsprogram i Power Automate.

  2. När du väl har laddat upp ditt OpenAPI kommer guiden automatiskt att identifiera att du använder Microsoft Entra ID-autentisering för ditt webb-API.

  3. Konfigurera Microsoft Entra ID-autentisering för din anpassade anslutningsapp.

  • Klient-ID: Klient-ID för webAPI-CustomAPI
  • Hemlig: Klientnyckel för webAPI-CustomAPI
  • Inloggnings-URL: https://login.windows.net
  • ResourceUri: Klient-ID för webAPI
  1. Välj Skapa och skapa sedan en anslutning till det anpassade anslutningsprogrammet.

Se även

Läs mer om Microsoft Entra ID-autentisering

Ge feedback

Vi uppskattar feedback på problem med vår plattform för anslutningsprogram eller förslag på nya funktioner. Om du vill lämna feedback går du till Skicka problem eller få hjälp med anslutningsprogram och väljer typ av feedback.