Vytvoření vlastního konektoru pro webové rozhraní API

Tento kurz vám ukáže, jak začít sestavovat webové rozhraní API ASP.NET, hostovat jej ve funkci Azure Web Apps služby Azure App Service, povolit ověřování Microsoft Entra ID a poté zaregistrovat webové rozhraní ASP.NET v Power Automate. Jakmile bude rozhraní API zaregistrované, můžete se k němu připojit a volat ho ze svého toku. Rozhraní API můžete zaregistrovat a volat také z Power Apps nebo Azure Logic Apps.

Předpoklady

Vytvořte a nasaďte webovou aplikaci ASP.NET pro Azure

Pro tento kurz vytvořte webovou aplikaci Visual C# ASP.NET.

  1. Otevřete Visual Studio a pak vyberte Soubor > Nový projekt.

    1. Rozbalte Nainstalované, přejděte na Šablony > Visual C# > Web a vyberte Webová aplikace ASP.NET.

    2. Zadejte název projektu, umístění a název řešení pro vaši aplikaci a poté zvolte OK.

    Snímek obrazovky ukazující novou webovou aplikaci Visual C# ASP.NET.

  2. V poli Nová webová aplikace ASP.NET vyberte šablonu Webové rozhraní API, ujistěte se, že je vybráno políčko Hostovat v cloudu a poté vyberte Změnit ověřování.

    Snímek obrazovky ukazující dialogové okno Nová webová aplikace ASP.NET.

  3. Zvolte Bez ověřování a potom vyberte OK. Ověřování můžete nastavit později.

    Vyberte Žádné ověřování.

  4. Když se znovu objeví pole Nová webová aplikace ASP.NET, vyberte OK.

  5. V poli Vytvořit App Service zaškrtněte nastavení hostování popsané v následující tabulce, proveďte požadované změny a poté vyberte Vytvořit.

    Plán App Servicespředstavuje kolekci fyzických zdrojů používaných k hostování aplikací v předplatném Azure. Informace o App Service.

    Vytvořte službu App Service.

    Nastavení Navrhovaná hodnota Description
    Váš pracovní nebo školní účet Azure nebo váš osobní účet Microsoft your-user-account Vyberte svůj uživatelský účet.
    Název webové aplikace custom-web-api-app-name nebo výchozí název Zadejte název aplikace rozhraní Web API, která se používá v adrese URL aplikace, například: http://web-api-app-name.
    Odběr Azure-subscription-name Vyberte předplatné Azure, které chcete použít.
    Skupina prostředků Azure-resource-group-name Vyberte existující skupinu zdrojů Azure nebo, pokud jste tak dosud neučinili, vytvořte skupinu zdrojů.

    Poznámka: Skupina zdrojů Azure uspořádá zdroje Azure ve vašem předplatném Azure.

    Plán služby App Service App-Service-plan-name Vyberte existující plán App Service, nebo pokud jste tak ještě neučinili, vytvořte plán.

    Pokud vytvoříte plán služby App Service, zadejte následující.

    Nastavení Navrhovaná hodnota Description
    Location deployment-region Vyberte oblast pro nasazení aplikace.
    Velikost App-Service-plan-size Vyberte velikost plánu, která určuje náklady a kapacitu výpočetních zdrojů pro váš plán služeb.

    Chcete-li nastavit další zdroje požadované aplikací, vyberte Prozkoumat další služby Azure.

    Nastavení Navrhovaná hodnota Popis
    Typ prostředku Azure-resource-type Vyberte a nastavte další zdroje, které aplikace vyžaduje.
  6. Poté, co Visual Studio nasadí váš projekt, vytvoří kód pro vaši aplikaci.

Vytvořte soubor OpenAPI (Swagger), který popisuje vaše webové rozhraní API

K připojení vaší aplikace webového rozhraní API k Power Automate, Power Apps nebo Logic Apps potřebujete soubor OpenAPI (dříve Swagger), který popisuje operace vašeho rozhraní API. Můžete si napsat vlastní definici OpenAPI pro vaše rozhraní API pomocí editoru Swagger online, ale tento výukový program používá opensource nástroj s názvem Swashbuckle.

  1. Pokud jste tak dosud neučinili, nainstalujte balíček Swashbuckle NuGet do svého projektu Visual Studio:

    1. V aplikaci Visual Studio zvolte Nástroje > Správce balíčků NuGet > Konzola Správce balíčků.

    2. V konzole Správce balíčků přejděte do adresáře projektu vaší aplikace, pokud tam ještě nejste (spusťte Set-Location "project-path") a spusťte tuto rutinu PowerShell:

      Install-Package Swashbuckle

      Snímek obrazovky zobrazující Swashbuckle nainstalovaný pomocí konzoly Správce balíčků.

    Tip

    Pokud spustíte aplikaci po instalaci Swashbuckle, Swashbuckle vygeneruje soubor OpenAPI na této adrese URL:

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

    Swashbuckle také generuje uživatelské rozhraní na této adrese URL:

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

  2. Po dokončení publikujte aplikaci Web API v Azure. Pokud chcete publikovat z aplikace Visual Studio, klikněte pravým tlačítkem myši na svůj webový projekt v aplikaci Solution Explorer, vyberte Publikovat a postupujte podle pokynů.

    Důležité

    Pokud dokument OpenAPI obsahuje duplicitní ID operace, bude neplatný. Vzorová šablona C# opakuje ID operace, Values_Get.

    Pokud jste použili ukázkovou šablonu C#, můžete tento problém vyřešit změnou jedné instance ID operace na Value_Get a znovu ji zveřejnit.

  3. Získejte dokument OpenAPI tak, že přejdete do tohoto umístění:

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

    Můžete si také stáhnout ukázkový dokument OpenAPI z tohoto kurzu. Před použitím dokumentu se ujistěte, že jste odstranili komentáře, které začínají na //.

  4. Uložte obsah jako soubor ve formátu JSON. V závislosti na prohlížeči může být potřeba text zkopírovat a vložit do prázdného textového souboru.

Nastavení ověřování Microsoft Entra ID

Nyní v Azure vytvoříte dvě aplikace Microsoft Entra ID. Další informace naleznete v části Integrace aplikací s Microsoft Entra ID.

Důležité

Obě aplikace musí být ve stejném adresáři.

První aplikace Microsoft Entra ID: Zabezpečení webového rozhraní API

První aplikace Microsoft Entra ID slouží k zabezpečení webového rozhraní API. Pojmenujte ji webAPI. Ověřování Microsoft Entra ID ve webovém rozhraní API můžete povolit následujícím postupem s následujícími hodnotami:

  • Adresa URL pro přihlašování: https://login.windows.net
  • Adresa URL odpovědi: https://<your-root-url>/.auth/login/aad/callback
  • Nepotřebujete klíč klienta.
  • Není potřeba delegovat žádná oprávnění.
  • Zkopírujte ID aplikace, protože je budete potřebovat později.

Druhá aplikace Microsoft Entra ID: Zabezpečení vlastního konektoru a delegovaný přístup

Druhá aplikace Microsoft Entra ID 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í. Tuto aplikaci pojmenujte webAPI-customAPI .

  • Adresa URL pro přihlašování: https://login.windows.net
  • Adresa URL odpovědi: https://msmanaged-na.consent.azure-apim.net/redirect
  • Přidejte oprávnění, abyste měli delegovaný přístup k webovému rozhraní API.
  • Zkopírujte ID aplikace, protože je budete potřebovat později.
  • Vytvořte klíč klienta a zkopírujte jej, protože jej budete potřebovat později.

Přidání ověřování do webové aplikace Azure

  1. Přihlaste se k portálu Azure a vyhledejte webovou aplikaci, kterou jste nasadili v první části.

  2. Vyberte Nastavení a potom vyberte Ověřování / autorizace.

  3. Zapněte Ověření aplikační služby a poté vyberte Azure Active Directory. V dalším okně zvolte Expresní.

  4. Vyberte Vybrat existující aplikaci AD a pak vyberte aplikaci Microsoft Entra ID webAPI, kterou jste vytvořili dříve.

Aplikaci Microsoft Entra ID byste teď měli mít možnost používat k ověření vaší webové aplikace.

Přidání vlastního konektoru do Power Automate

  1. Upravte OpenAPI pro přidání objektu securityDefintions a ověřování Microsoft Entra ID používaného pro webovou aplikaci. Část OpenAPI s vlastností host by měla vypadat takto:
// 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. Přejděte do Power Automate a přidejte vlastní konektor, jak je popsáno v tématu Používání vlastních konektorů v Power Automate.

  2. Po nahrání OpenAPI průvodce automaticky zjistí, že pro webové rozhraní API používáte ověřování pomocí Microsoft Entra ID.

  3. Pro vlastní konektor nakonfigurujte ověřování pomocí Microsoft Entra ID.

  • ID klienta: ID klienta webAPI-CustomAPI
  • Tajný kód: Klientský klíč webAPI-CustomAPI
  • Adresa URL přihlášení: https://login.windows.net
  • Identifikátor URI prostředku: ID klienta webAPI
  1. Vyberte Vytvořit a vytvořte připojení k vlastnímu konektoru.

Viz také

Další informace o ověřování pomocí Microsoft Entra ID.

Poskytnutí názorů

Velmi si vážíme vašich názorů na problémy s naší platformou konektorů nebo nových nápadů na funkce. Chcete-li poskytnout zpětnou vazbu, přejděte do části Odeslat problémy nebo získat pomoc s konektory a vyberte typ zpětné vazby.