I den här kursen lär du dig hur du börjar bygga ett ASP.NET webb-API, placerar det i Azure Web Apps, aktiverar Azure Active Directory-autentisering och sedan registrerar ditt ASP.NET webb-API i PowerApps. När API:t är registrerat kan du ansluta till det och anropa det från din app.

Förutsättningar

Skapa ett ASP.NET Web API och distribuera det till Azure

  1. I Visual Studio klickar du på filen > Nytt projekt att skapa en ny C# ASP.NET-webbapp.

    Ny webbapp

  2. Välj Web API-mallen. Avmarkera inte kryssrutan Värd i molnet. Klicka på Ändra autentisering.

    Ny mall för webb-projekt

  3. Välj Ingen autentisering och klicka sedan på OK.

    Ingen autentisering

  4. Klicka på OK i dialogrutan Nytt ASP-NET-projekt. Dialogrutan konfigurera Microsoft Azure Web App visas.

    Konfigurera Microsoft Azure Web App ]

    Välj ditt Azure-konto, ange ett Web App-namn (eller lämna standardvärdet) och välj din Azure-prenumeration. Välj eller skapa en App Service-plan (en samling webbappar som ingår i din prenumeration). Välj eller skapa en resursgrupp (en gruppering av Azure-resurser i din prenumeration). Välj den region där webbappen ska distribueras. Välj eller skapa en Azure Database-server om det behövs för webb-API. Klicka slutligen på OK.

  5. Bygg ut ditt webb-API.

    Observera: Om du inte redan har färdig kod för ett webb-API ska du prova guiden Komma igång med ASP.NET Web API 2 (C#).

  6. För att ansluta webb-API:t till PowerApps behöver vi en OpenAPI-fil som beskriver driften. Du kan skriva en egen OpenAPI-fil med hjälp av onlineredigeraren, men i den här kursen ska du använda ett verktyg med öppen källkod som heter Swashbuckle. Installera paketet Swashbuckle Nuget i Visual Studio-projektet genom att klicka på Verktyg > NuGet Package Manager > Package Manager-konsolen. Skriv sedan kommandot i Package Manager-konsolenInstall-Package Swashbuckle.

    Installationspaket Swashbuckle

    Tips: När du har installerat Swashbuckle och kör webb-API-programmet skapas nu en OpenAPI-fil på webbadressen http://<your root URL>/swagger/docs/v1. Ett genererat användargränssnitt finns även på http://<your root URL>/swagger.

  7. När din Web API är klar kan du publicera den på Azure. Om du vill publicera från Visual Studio, högerklickar du på webbprojekt i Solution Explorer. Klicka sedan på Publicera... och följ sedan instruktionerna i dialogrutan Publicera.

  8. Hämta OpenAPI JSON genom att navigera till https://<azure-webapp-url>/swagger/docs/v1. 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.

    Viktigt: Ett OpenAPI-dokument med duplicerade åtgärds-ID är ogiltigt. Om du använder exempelmallen för C# upprepas åtgärds ID Values_Get två gånger. Du kan åtgärda detta genom att ändra en instans till Value_Get och publicera om. Du kan också hämta en OpenAPI-exempelfil från den här handboken. Ta bort kommentarer (från och med //) innan du använder den.

Ställ in Azure Active Directory-autentisering

Du kommer nu att skapa två program med Azure Active Directory (AAD) i Azure. Ett exempel på hur du gör detta finns i handboken för Azure Resource Manager.

Viktigt Båda apparna måste finnas i samma katalog.

Första AAD-programmet: skydda Web API

Det första AAD-programmet används för att skydda Web API. Du kan kalla det webAPI. Följ stegen i ovanstående länk (bara avsnittet ”Aktivera autentisering i Azure Active Directory”) med följande värden:

  • Inloggnings-URL: https://login.windows.net
  • Svars-URL: https://<your-root-url>/.auth/login/aad/callback
  • Det finns inget behov av en klientnyckel.
  • Det finns inget behov av att delegera behörigheter.
  • Viktigt: Observera program-ID:t. Du kommer att behöva det senare.

Det andra AAD-programmet: Skydda den anpassade anslutningsappen och delegerad åtkomst

Det andra AAD-programmet används för att skydda registreringen till den anpassade anslutningsappen och få delegerad åtkomst till det webb-API som skyddas av det första programmet. Namnge denna webAPI-customAPI .

  • Inloggnings-URL: https://login.windows.net
  • Svars-URL: https://msmanaged-na.consent.azure-apim.net/redirect
  • Lägga till behörigheter för begränsad åtkomst till Web API.
  • Du behöver programmet-ID för det här programmet senare så det är klokt att anteckna det.
  • Skapa en nyckel för klienten och förvara den på en säker plats. Vi behöver den här nyckeln senare.

Lägga till autentisering i Azure Web App

  1. Logga in på Azure-portalen och hitta ditt webbprogram 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 AAD-program för webAPI som du skapade tidigare.

Du bör nu kunna använda AAD för att autentisera din webbapp.

Lägga till den anpassade anslutningsappen till PowerApps

  1. Ändra din OpenAPI-fil för att lägga till objektet securityDefintions och AAD-autentisering som används för webbappen. Delen av din OpenAPI-fil med egenskapen värd bör se ut så här:
// File header should be above here...

"host": "<your-root-url>",
"schemes": [
    "https"      //Make sure this is https!
],
"securityDefinitions": {
    "AAD": {
        "type": "oauth2",
        "flow": "implicit",
        "authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
        "scopes": {}
    }
},

// The rest of the OpenAPI document follows...
  1. Bläddra till PowerApps och lägg till en anpassad anslutningsapp enligt beskrivningen i Registrera och använda anpassade anslutningsappar i PowerApps.

  2. När du har överfört din OpenAPI-fil upptäcker guiden automatiskt att du använder AAD-autentisering för Web API.

  3. Konfigurera AAD-autentisering för din anpassade anslutningsapp.

    • Client ID: Klient-ID för webAPI-CustomAPI
    • Secret: Klient-nyckel för webAPI-CustomAPI
    • Inloggnings-URL: https://login.windows.net
    • ResourceUri: Klient-ID för webAPI
  4. Klicka på Skapa och skapa en anslutning till din anpassade anslutningsapp.

Nästa steg

Gå igenom handboken för Azure Resource Manager om anpassade anslutningsappar.