Sestavení vlastního konektoru pro webové rozhraní API v PowerAppsBuild a custom connector for a Web API in PowerApps

V tomto kurzu se dozvíte, jak můžete začít sestavovat webové rozhraní API technologie ASP.NET, hostovat ho v Azure Web Apps, povolit ověřování Azure Active Directory a potom webové rozhraní API technologie ASP.NET zaregistrovat v 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. Po registraci rozhraní API se k němu můžete připojovat a volat ho ze své aplikace.After the API is registered, you can connect to it and call it from your app.

PožadavkyPrerequisites

Vytvoření webového rozhraní API technologie ASP.NET a jeho nasazení v AzureCreate an ASP.NET Web API and deploy it to Azure

  1. V sadě Visual Studio vytvořte kliknutím na Soubor > Nový projekt novou webovou aplikaci C# ASP.NET.In Visual Studio, click File > New Project to create a new C# ASP.NET web application.

    Nová webová aplikace

  2. Vyberte šablonu Webové rozhraní API.Select the Web API template. Nechte zaškrtnuté políčko Hostitel v cloudu.Leave Host in the cloud checked. Klikněte na Změnit ověřování.Click Change Authentication.

    Nová šablona webového projektu

  3. Zvolte Bez ověřování a potom klikněte na OK.Select No Authentication, and then click OK.

    Bez ověřování

  4. V dialogu Nový projekt ASP.NET klikněte na OK.Click OK on the New ASP.NET Project dialog. Otevře se dialogové okno Konfigurovat webovou aplikaci Microsoft Azure.The Configure Microsoft Azure Web App dialog appears.

    Konfigurace webové aplikace Microsoft Azure]]

    Vyberte svůj účet Azure, zadejte název webové aplikace (nebo ponechte výchozí) a vyberte vaše předplatné Azure.Select your Azure account, type a Web App name (or leave the default), and select your Azure Subscription. Vyberte nebo vytvořte plán služby App Service (kolekci webových aplikací v rámci vašeho předplatného).Select or create an App Service plan (a collection of Web Apps within your subscription). Vyberte nebo vytvořte skupinu prostředků (skupinu prostředků Azure v rámci vašeho předplatného).Select or create a Resource group (a grouping of Azure resources within your subscription). Vyberte oblast, kde chcete, aby byla webová aplikace nasazena.Select the region where the Web App should be deployed. Pokud to vaše webové rozhraní API vyžaduje, vyberte nebo vytvořte databázový server Azure.If required for your Web API, select or create an Azure Database server. Nakonec klikněte na OK.Finally, click OK.

  5. Vytvořte webové rozhraní API.Build out your Web API.

    Poznámka:: Pokud ještě nemáte připravený kód pro webové rozhraní API, projděte si kurz Začínáme s webovým rozhraním API technologie ASP.NET 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. Pro připojení webového rozhraní API k PowerApps budeme potřebovat soubor OpenAPI popisující jeho operace.To connect our Web API to PowerApps, we'll need an OpenAPI file that describes its operations. V online editoru si můžete napsat vlastní soubor OpenAPI, ale pro účely tohoto kurzu budeme používat Open Source nástroj s názvem 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. Nainstalujte si do projektu sady Visual Studio balíček Swashbuckle Nuget – klikněte na Nástroje > Správce balíčků NuGet > Konzola Správce balíčků a potom v Konzole Správce balíčků zadejte příkaz 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.

    Install-Package Swashbuckle

    Tip: Když po instalaci Swashbuckle spustíte svou aplikaci s webovým rozhraním API, vygeneruje se soubor OpenAPI na adrese URL 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. Vygenerované uživatelské rozhraní je také k dispozici na adrese http://<your root URL>/swagger.A generated user interface is also available at http://<your root URL>/swagger.

  7. Jakmile máte webové rozhraní API připravené, publikujte ho v Azure.When your Web API is ready, publish it to Azure. Pokud ho chcete publikovat ze sady Visual Studio, klikněte pravým tlačítkem na webový projekt v Průzkumníku řešení, klikněte na Publikovat... a pak postupujte podle pokynů v dialogovém okně Publikovat.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. Načtěte formát JSON OpenAPI přechodem na https://<azure-webapp-url>/swagger/docs/v1.Retrieve the OpenAPI JSON by navigating to https://<azure-webapp-url>/swagger/docs/v1. Uložte obsah jako soubor ve formátu JSON.Save the content as a JSON file. V závislosti na vašem prohlížeči bude možná potřeba zkopírovat a vložit text do prázdného textového souboru.Depending on your browser, you may need to copy and paste the text into an empty text file.

    Důležité upozornění: Dokument OpenAPI s duplicitními ID operací je neplatný.Important: An OpenAPI document with duplicate operation IDs is invalid. Pokud používáte ukázkovou šablonu C#, opakuje se ID operace Values_Get dvakrát.If you are using the sample C# template, the operation ID Values_Get is repeated twice. Tento problém můžete vyřešit tak, že jednu instanci změníte na Value_Get a zopakujete publikování.You can correct this by changing one instance to Value_Get and re-publishing. Můžete si také stáhnout ukázkový soubor OpenAPI z tohoto kurzu.You can also download a sample OpenAPI file from this tutorial. Než ho použijete, nezapomeňte odstranit znaky komentářů (//).Be sure to remove the comments (starting with //) before using it.

Nastavení ověřování Azure Active DirectorySet up Azure Active Directory authentication

V této fázi si vytvoříte dvě aplikace Azure Active Directory (AAD) v Azure.You will now create two Azure Active Directory (AAD) applications in Azure. Příklad toho, jak to udělat, najdete v kurzu k Azure Resource Manageru.For an example of how to do this, see the Azure Resource Manager tutorial.

Důležité upozornění: Obě aplikace musí být ve stejném adresáři.Important Both apps must be in the same directory.

První aplikaci AAD: Zabezpečení webového rozhraní APIFirst AAD application: Securing the Web API

První aplikaci AAD slouží k zabezpečení webového rozhraní API.The first AAD application is used to secure the Web API. Pojmenujte ji webAPI.Name it webAPI. Postupujte podle kroků v kurzu, na který odkazujeme výše, (pouze část s názvem Povolení ověřování v Azure Active Directory) a zadejte následující hodnoty:Follow the above linked tutorial steps (just the section titled "Enable authentication in Azure Active Directory") with the following values:

  • Adresa URL pro přihlašování: https://login.windows.netSign-on URL: https://login.windows.net
  • Adresa URL pro odpověď: https://<your-root-url>/.auth/login/aad/callbackReply URL: https://<your-root-url>/.auth/login/aad/callback
  • Není nutné zadávat klientský klíč.There is no need for a client key.
  • Není nutné delegovat oprávnění.There is no need to delegate any permissions.
  • Důležité upozornění: Poznamenejte si ID aplikace.Important: Note the application ID. Později ho budete potřebovat.You will need it later.

Druhá aplikace AAD: Zabezpečení vlastního konektoru a delegovaný přístupSecond AAD application: Securing the custom connector and delegated access

Druhá aplikace AAD slouží k zabezpečení registrace vlastního konektoru a získání delegovaného přístupu k webovému rozhraní API chráněnému první aplikací.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. Tuto aplikaci pojmenujte webAPI-customAPI .Name this one webAPI-customAPI .

  • Adresa URL pro přihlašování: https://login.windows.netSign-on URL: https://login.windows.net
  • Adresa URL pro odpověď: https://msmanaged-na.consent.azure-apim.net/redirectReply URL: https://msmanaged-na.consent.azure-apim.net/redirect
  • Přidejte oprávnění, abyste měli delegovaný přístup k webovému rozhraní API.Add permissions to have delegated access to Web API.
  • Také ID této aplikace budete později potřebovat, proto si ho poznamenejte.You need the application ID of this application later as well, so note it.
  • Vygenerujte klientský klíč a uložte ho někam na bezpečné místo.Generate a client key and store is somewhere safe. Tento klíč budete později potřebovat.We need this key later.

Přidání ověřování do webové aplikace AzureAdd authentication to your Azure Web App

  1. Přihlaste se k portálu Azure a vyhledejte webovou aplikaci, kterou jste nasadili v první části.Sign in to the Azure portal and then find your Web App that you deployed in the first section.
  2. Klikněte na Nastavení a potom vyberte Ověřování / autorizace.Click Settings, and then select Authentication / Authorization.
  3. Zapněte Ověřování pomocí služby App Service a pak vyberte Azure Active Directory.Turn on App Service Authentication and then select Azure Active Directory. V dalším okně zvolte Expresní.On the next blade, select Express.
  4. Klikněte na Vybrat existující aplikaci AD a pak vyberte aplikaci AAD webAPI, kterou jste vytvořili dříve.Click Select Existing AD App, and select the webAPI AAD application you created earlier.

Teď by mělo fungovat ověřování webové aplikace pomocí AAD.You should now be able to use AAD to authenticate your web application.

Přidání vlastního konektoru do PowerAppsAdd the custom connector to PowerApps

  1. Upravte soubor OpenAPI – přidejte objekt securityDefintions a ověřování AAD používané pro webovou aplikaci.Modify your OpenAPI file to add the securityDefintions object and AAD authentication used for the Web App. Kód v souboru OpenAPI, který se vztahuje k vlastnosti host (hostitel), by měl vypadat takto: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. Přejděte do PowerApps a přidejte vlastní konektor, jak je to popsáno v části Registrace a používání vlastních konektorů v PowerApps.Browse to PowerApps, and add a custom connector as described in Register and use custom connectors in PowerApps.
  2. Po nahrání souboru OpenAPI průvodce automaticky zjistí, že pro webové rozhraní API používáte ověřování AAD.Once you have uploaded your OpenAPI file, the wizard auto-detects that you are using AAD authentication for your Web API.
  3. Nakonfigurujte ověřování AAD pro vlastní konektor.Configure the AAD authentication for the custom connector.

    • ID klienta: ID klienta webAPI-CustomAPIClient ID: Client ID of webAPI-CustomAPI
    • Tajný kód: Klientský klíč webAPI-CustomAPISecret: Client key of webAPI-CustomAPI
    • Adresa URL pro přihlášení: https://login.windows.netLogin URL: https://login.windows.net
    • Identifikátor URI prostředku: ID klienta webAPIResourceUri: Client ID of webAPI
  4. Klikněte na Vytvořit a vytvořte připojení k vlastnímu konektoru.Click Create and creating a connection to the custom connector.

Další krokyNext Steps

Projděte si kurz k vlastnímu konektoru Azure Resource Manageru.Walk through the Azure Resource Manager custom connector tutorial.