Byg en brugerdefineret connector til en Web-API i PowerAppsBuild a custom connector for a Web API in PowerApps

Dette selvstudium viser, hvordan du starter med at bygge en ASP.NET Web-API, hoster den på Web Apps i Azure, aktiverer Azure Active Directory-godkendelse og derefter registrerer ASP.NET Web-API'en i PowerApps.This tutorial shows you how to start bulding an ASP.NET Web API, host it on Azure Web Apps, enable Azure Active Directory authentication, and then register the ASP.NET Web API in PowerApps. Når API'en er registreret, kan du oprette forbindelse til den og kalde den fra din app.After the API is registered, you can connect to it and call it from your app.

ForudsætningerPrerequisites

Opret en ASP.NET Web-API, og installér den på AzureCreate an ASP.NET Web API and deploy it to Azure

  1. Klik i Visual Studio på File > New Project for at oprette et nyt C# ASP.NET-webprogram.In Visual Studio, click File > New Project to create a new C# ASP.NET web application.

    Ny webapp

  2. Vælg skabelonen Web-API.Select the Web API template. Lad Host in the cloud (Host i cloudmiljøet) være markeret.Leave Host in the cloud checked. Klik på Change Authentication (Skift godkendelse).Click Change Authentication.

    Ny skabelon til webprojekt

  3. Vælg No Authentication (Ingen godkendelse), og klik derefter på OK.Select No Authentication, and then click OK.

    Ingen godkendelse

  4. Klik på OK i den nye dialogboks New ASP.NET Project (Nyt ASP.NET-projekt).Click OK on the New ASP.NET Project dialog. Dialogboksen Configure Microsoft Azure Web App (Konfigurer webapp i Microsoft Azure) vises.The Configure Microsoft Azure Web App dialog appears.

    Konfigurer webapp i Microsoft Azure]]

    Vælg din Azure-konto, skriv et navn på webappen (eller behold standardindstillingen), og vælg dit Azure-abonnement.Select your Azure account, type a Web App name (or leave the default), and select your Azure Subscription. Vælg eller opret en App Service-plan (en samling webapps i dit abonnement).Select or create an App Service plan (a collection of Web Apps within your subscription). Vælg eller opret en ressourcegruppe (en gruppering af Azure-ressourcer i dit abonnement).Select or create a Resource group (a grouping of Azure resources within your subscription). Vælg det område, hvor webappen skal installeres.Select the region where the Web App should be deployed. Hvis det kræves til din web-API, kan du vælge eller oprette en Azure-databaseserver.If required for your Web API, select or create an Azure Database server. Til sidst skal du klikke på OK.Finally, click OK.

  5. Udbyg din web-API.Build out your Web API.

    Bemærk! Hvis du ikke allerede har kode, der er klar til en web-API, kan du prøve selvstudiet Getting Started with ASP.NET Web API 2 (C#).Note: If you don't already have code ready for a Web API, try the tutorial Getting Started with ASP.NET Web API 2 (C#).

  6. Når vores web-API skal tilsluttes PowerApps, skal vi bruge en OpenAPI-fil, der beskriver dens handlinger.To connect our Web API to PowerApps, we'll need an OpenAPI file that describes its operations. Du kan skrive din egen OpenAPI ved hjælp af onlineredigeringsprogrammet, men i dette selvstudium skal du bruge et open source-værktøj, der hedder Swashbuckle.You could write an OpenAPI of your own using the online editor, but for this tutorial, you'll use an open-source tool named Swashbuckle. Installér pakken Swashbuckle Nuget i dit Visual Studio-projekt ved at klikke på Tools > NuGet Package Manager > Package Manager Console, og skriv derefter kommandoen i Package Manager Console Install-Package Swashbuckle.Install the Swashbuckle Nuget package in your Visual Studio project by clicking Tools > NuGet Package Manager > Package Manager Console, and then, in the Package Manager Console, type the command Install-Package Swashbuckle.

    Swashbuckle-installationspakke

    Tip! Når du kører dit web-API-program efter installation af Swashbuckle, genereres der nu en OpenAPI-fil på URL-adressen http://<your root URL>/swagger/docs/v1.Tip: When you run your Web API application after installing Swashbuckle, an OpenAPI file will now be generated at the URL http://<your root URL>/swagger/docs/v1. Der findes også en genereret brugergrænseflade på http://<your root URL>/swagger.A generated user interface is also available at http://<your root URL>/swagger.

  7. Når din Web-API er klar, kan du publicere den på Azure.When your Web API is ready, publish it to Azure. Hvis du vil publicere fra Visual Studio, skal du højreklikke på webprojektet i løsningsoversigten (Solution Explorer) og klikke på Publish... (Publicer) og derefter følge prompterne i dialogboksen Publish (Publicer).To publish from Visual Studio, right-click on the web project in Solution Explorer, click Publish..., and then follow the prompts in the Publish dialog.
  8. Hent OpenAPI JSON ved at navigere til https://<azure-webapp-url>/swagger/docs/v1.Retrieve the OpenAPI JSON by navigating to https://<azure-webapp-url>/swagger/docs/v1. Gem indholdet som en JSON-fil.Save the content as a JSON file. Afhængigt af din browser skal du muligvis kopiere og indsætte teksten i en tom tekstfil.Depending on your browser, you may need to copy and paste the text into an empty text file.

    Vigtigt! Et OpenAPI-dokument med identiske handlings-id'er er ugyldigt.Important: An OpenAPI document with duplicate operation IDs is invalid. Hvis du bruger C#-eksempelskabelonen, gentages handlings-id'et Values_Get to gange.If you are using the sample C# template, the operation ID Values_Get is repeated twice. Du kan rette dette ved at ændre den ene instans til Value_Get og publicere igen.You can correct this by changing one instance to Value_Get and re-publishing. Du kan også downloade en OpenAPI-eksempelfil fra dette selvstudium.You can also download a sample OpenAPI file from this tutorial. Sørg for at fjerne kommentarer (starter med //), inden du bruger den.Be sure to remove the comments (starting with //) before using it.

Konfigurer Azure Active Directory-godkendelseSet up Azure Active Directory authentication

Nu skal du oprette to Azure Active Directory-programmer (AAD) i Azure.You will now create two Azure Active Directory (AAD) applications in Azure. Du kan se et eksempel på, hvordan du gør dette, i Azure Resource Manager-selvstudiet.For an example of how to do this, see the Azure Resource Manager tutorial.

Vigtigt! Begge apps skal findes i samme mappe.Important Both apps must be in the same directory.

Første AAD-program: sikring af web-API'enFirst AAD application: Securing the Web API

Det første AAD-program bruges til at sikre web-API'en.The first AAD application is used to secure the Web API. Navngiv det webAPI.Name it webAPI. Følg trinnene i selvstudiet, der er link til ovenfor (kun afsnittet "Enable authentication in Azure Active Directory" (Aktivér godkendelse i Azure Active Directory)) med følgende værdier:Follow the above linked tutorial steps (just the section titled "Enable authentication in Azure Active Directory") with the following values:

  • URL-adresse til logon: https://login.windows.netSign-on URL: https://login.windows.net
  • URL-adresse til svar: https://<your-root-url>/.auth/login/aad/callbackReply URL: https://<your-root-url>/.auth/login/aad/callback
  • Der er ikke brug for en klientnøgle.There is no need for a client key.
  • Det er ikke nødvendigt at uddelegere tilladelser.There is no need to delegate any permissions.
  • Vigtig! Bemærk program-id'et.Important: Note the application ID. Du skal bruge det senere.You will need it later.

Andet AAD-program: sikring af den brugerdefinerede connector og delegeret adgangSecond AAD application: Securing the custom connector and delegated access

Det andet AAD-program bruges til at sikre registrering af den brugerdefinerede connector og få delegeret adgang til den web-API, der er beskyttet af det første program.The second AAD application is used to secure the custom connector registration and acquire delegated access to the Web API protected by the first application. Navngiv dette webAPI-customAPI .Name this one webAPI-customAPI .

  • URL-adresse til logon: https://login.windows.netSign-on URL: https://login.windows.net
  • URL-adresse til svar: https://msmanaged-na.consent.azure-apim.net/redirectReply URL: https://msmanaged-na.consent.azure-apim.net/redirect
  • Tilføj tilladelser for at få delegeret adgang til web-API.Add permissions to have delegated access to Web API.
  • Notér dig program-id'et for dette program, da du også skal bruge det senere.You need the application ID of this application later as well, so note it.
  • Opret en klientnøgle, og gem den et sikkert sted.Generate a client key and store is somewhere safe. Vi skal bruge denne nøgle senere.We need this key later.

Føj godkendelse til din Azure webappAdd authentication to your Azure Web App

  1. Log på Azure-portalen, og find derefter den webapp, du implementerede i første sektion.Sign in to the Azure portal and then find your Web App that you deployed in the first section.
  2. Klik på Settings (Indstillinger), og vælg derefter Authentication / Authorization (Godkendelse).Click Settings, and then select Authentication / Authorization.
  3. Aktivér App Service Authentication (App Service-godkendelse), og vælg derefter Azure Active Directory.Turn on App Service Authentication and then select Azure Active Directory. Vælg Express (Ekspres) på næste blad.On the next blade, select Express.
  4. Klik på Select Existing AD App (Vælg eksisterende AD-app), og vælg det webAPI- AAD-program, du tidligere har oprettet.Click Select Existing AD App, and select the webAPI AAD application you created earlier.

Du bør nu kunne godkende dit webprogram ved hjælp af AAD.You should now be able to use AAD to authenticate your web application.

Føj den brugerdefinerede connector til PowerAppsAdd the custom connector to PowerApps

  1. Rediger OpenAPI-filen, så du kan tilføje det securityDefintions-objekt og den AAD-godkendelse, der er brugt til webappen.Modify your OpenAPI file to add the securityDefintions object and AAD authentication used for the Web App. Afsnittet i OpenAPI-filen med egenskaben host bør se sådan ud:The section of your OpenAPI file with the host property should look like this:
// 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. Gå til PowerApps, og tilføj en brugerdefineret connector som beskrevet i Registrer og brug brugerdefinerede connectors i PowerApps.Browse to PowerApps, and add a custom connector as described in Register and use custom connectors in PowerApps.
  2. Når du har overført OpenAPI-filen, registrerer guiden automatisk, at du bruger ADD-godkendelse til Web-API'en.Once you have uploaded your OpenAPI file, the wizard auto-detects that you are using AAD authentication for your Web API.
  3. Konfigurer AAD-godkendelsen til den brugerdefinerede connector.Configure the AAD authentication for the custom connector.

    • Client-ID (Klient-id): Klient-id'et for webAPI-CustomAPIClient ID: Client ID of webAPI-CustomAPI
    • Secret (Hemmelig): Klientnøglen til webAPI-CustomAPISecret: Client key of webAPI-CustomAPI
    • Login URL (URL-adresse til logon): https://login.windows.netLogin URL: https://login.windows.net
    • ResourceUri: Klient-id'et for webAPIResourceUri: Client ID of webAPI
  4. Klik på Create (Opret), og opret forbindelse til den brugerdefinerede connector.Click Create and creating a connection to the custom connector.

Næste trinNext Steps

Gennemgå Azure Resource Manager-selvstudiet for brugerdefinerede connectors.Walk through the Azure Resource Manager custom connector tutorial.