Delen via


Een aangepaste connector makien voor een web-API

Deze zelfstudie laat zien hoe u begint met het bouwen van een ASP.NET web-API, deze host op de Azure Web Apps-functie van Azure App Service, verificatie via Microsoft Entra ID inschakelt en vervolgens de ASP.NET web-API registreert in Power Automate. Nadat de API is geregistreerd, kunt u er verbinding mee maken en kunt u deze aanroepen vanuit uw stroom. U kunt ook de volgende opties kiezen:

Voorwaarden

Een ASP.NET web-app maken en implementeren naar Azure

Maak voor deze zelfstudie een Visual C# ASP.NET-web-app.

  1. Open Visual Studio en selecteer vervolgens Bestand>Nieuw project.

    1. Vouw Geïnstalleerd uit, ga naar Sjablonen>Visual C#>Web en selecteer vervolgens ASP.NET Webtoepassing.

    2. Voer een projectnaam, locatie en oplossingsnaam voor uw app in en selecteer vervolgens OK.

    Schermopname met een nieuwe Visual C# ASP.NET-webtoepassing.

  2. Selecteer in het vak Nieuwe ASP.NET webtoepassing de Web API sjabloon, zorg ervoor dat het selectievakje Host in de cloud is aangevinkt en selecteer vervolgens Authenticatie wijzigen.

    Schermopname met het dialoogvenster Nieuwe ASP.NET-webtoepassing.

  3. Selecteer Geen authenticatie en selecteer vervolgens OK. U kunt de verificatie later instellen.

    Geen verificatie selecteren.

  4. Wanneer het vak Nieuwe ASP.NET webtoepassing weer verschijnt, selecteert u OK.

  5. Controleer in het vak App-service maken de hostinginstellingen die in de volgende tabel worden beschreven, breng de gewenste wijzigingen aan en selecteer vervolgens Maken.

    Een App Service-plan vertegenwoordigt een verzameling fysieke bronnen die worden gebruikt voor het hosten van apps in uw Azure-abonnement. Meer informatie over App Service.

    App Service maken.

    Instelling Voorgestelde waarde Omschrijving
    Uw Azure-werk- of -schoolaccount of uw persoonlijke Microsoft-account uw-gebruikersaccount Selecteer uw gebruikersaccount.
    Naam van webapp aangepaste-web-api-app-naam of de standaardnaam Voer de naam in voor uw web-API-app, die wordt gebruikt in de URL van uw app, bijvoorbeeld: http://web-api-app-naam.
    Abonnement Azure-abonnementnaam Selecteer het Azure-abonnement dat u wilt gebruiken.
    Resourcegroep Naam-Azure-resourcegroep Selecteer een bestaande Azure-resourcegroep of maak een resourcegroep als u dat nog niet hebt gedaan.

    Opmerking: een Azure-resourcegroep ordent Azure-resources binnen uw Azure-abonnement.

    App Service-plan Naam-App-Service-plan Selecteer een bestaand App Service-abonnement of maak een abonnement als u dat nog niet hebt gedaan.

    Als u een App Service-abonnement maakt, geeft u het volgende op.

    Instelling Voorgestelde waarde Omschrijving
    Locatie implementatieregio Selecteer de regio voor het implementeren van uw app.
    Grootte App-Service-plan-grootte Selecteer de omvang van uw plan, die de kosten en de capaciteit van uw computerresources bepaalt voor uw serviceplan.

    Als u andere resources wilt instellen die uw app nodig heeft, selecteert u Aanvullende Azure-services verkennen.

    Instelling Voorgestelde waarde Beschrijving
    Resourcetype Azure-resourcetype Selecteer en stel eventuele aanvullende resources in die vereist zijn voor uw app.
  6. Nadat Visual Studio uw project heeft geïmplementeerd, bouwt u de code voor uw app.

Een OpenAPI-bestand (Swagger) maken dat uw web-API beschrijft

Om uw web-API-app te verbinden met Power Automate, Power Apps of Logic Apps, hebt u een OpenAPI (voorheen Swagger)-bestand nodig dat de bewerkingen van uw API beschrijft. U kunt uw eigen OpenAPI definitie voor uw API schrijven met de online-editor van Swagger, maar in deze tutorial gebruiken we een open-sourcetool genaamd Swashbuckle.

  1. Installeer het Swashbuckle NuGet-pakket in uw Visual Studio-project als dat nog niet is gebeurd:

    1. Selecteer in Visual Studio Extra>NuGet Pakketbeheer>Pakketbeheerconsole.

    2. Ga in de Package Manager Console naar de projectmap van uw app als u daar nog niet bent (voer Set-Location "project-path" uit) en voer deze PowerShell-cmdlet uit:

      Install-Package Swashbuckle

      Schermopname met Swashbuckle geïnstalleerd met behulp van de Console voor pakketbeheer.

    Tip

    Als u uw app uitvoert nadat u Swashbuckle hebt geïnstalleerd, genereert Swashbuckle een OpenAPI-bestand op deze URL:

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

    Swashbuckle genereert ook een gebruikersinterface op deze URL:

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

  2. Als u klaar bent, publiceert u uw web-API-app naar Azure. Om te publiceren vanuit Visual Studio klikt u met de rechtermuisknop op uw webproject in Solution Explorer, selecteert u Publiceren en volgt u de aanwijzingen.

    Belangrijk

    Als een OpenAPI-document dubbele bewerkings-id´s bevat, is het ongeldig. De voorbeeldsjabloon C# herhaalt de bewerkings-ID, Values_Get.

    Als u de C#-voorbeeldsjabloon hebt gebruikt, kunt u dit probleem oplossen door één bewerkings-ID-instantie te wijzigen in Value_Get en opnieuw te publiceren.

  3. Haal het OpenAPI-document op door naar deze locatie te bladeren:

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

    U kunt ook een voorbeeld OpenAPI document uit deze tutorial downloaden. Zorg ervoor dat u de opmerkingen die beginnen met // verwijdert voordat u het document gebruikt.

  4. Sla de inhoud als een JSON-bestand op. Wellicht moet u de tekst kopiëren en in een leeg tekstbestand plakken. Dit is afhankelijk van uw browser.

Microsoft Entra ID-verificatie instellen

U maakt nu twee Microsoft Entra ID-toepassingen in Azure. Ga naar Toepassingen integreren met Microsoft Entra ID voor meer informatie.

Belangrijk

Beide apps moeten zich in dezelfde map bevinden.

Eerste Microsoft Entra ID-toepassing: de web-API beveiligen

De eerste Microsoft Entra ID-toepassing wordt gebruikt voor het beveiligen van de Web-API. Noem het webAPI. U kunt ID-verificatie inschakelen op uw web-API door deze stappen te volgen met de volgende waarden: Microsoft Entra

  • Aanmeldings-URL: https://login.windows.net
  • Antwoord-URL: https://<your-root-url>/.auth/login/aad/callback
  • U hebt geen clientsleutel nodig.
  • U hoeft geen machtigingen te delegeren.
  • Kopieer de toepassings-id, omdat u deze later nodig hebt.

Tweede Microsoft Entra ID-toepassing: de aangepaste connector en gedelegeerde toegang beveiligen

De tweede Microsoft Entra ID-toepassing wordt gebruikt voor het beveiligen van de registratie van de aangepaste connector en het verkrijgen van gedelegeerde toegang tot de Web-API die wordt beveiligd door de eerste toepassing. Noem deze webAPI-customAPI .

  • Aanmeldings-URL: https://login.windows.net
  • Antwoord-URL: https://msmanaged-na.consent.azure-apim.net/redirect
  • Voeg machtigingen toe voor gedelegeerde toegang tot de Web-API.
  • Kopieer de toepassings-id, omdat u deze later nodig hebt.
  • Genereer een clientsleutel en kopieer deze, omdat u deze later nodig hebt.

Verificatie toevoegen aan uw Azure-web-app

  1. Meld u aan bij de Azure-portal en zoek de web-app die u in de eerste sectie hebt geïmplementeerd.

  2. Selecteer instellingen en selecteer vervolgens Authenticatie/Autorisatie.

  3. Schakel App Service-verificatie in en selecteer vervolgens Azure Active Directory. Selecteer op het volgende blad Express.

  4. Selecteer Bestaande AD-app selecteren en selecteer vervolgens de webAPI Microsoft Entra ID-toepassing die u eerder hebt gemaakt.

U kunt nu Microsoft Entra ID gebruiken om uw web-app te verifiëren.

De aangepaste connector toevoegen aan Power Automate

  1. Wijzig uw OpenAPI om de securityDefintions object- en Microsoft Entra ID-verificatie toe te voegen die voor de web-app wordt gebruikt. Het gedeelte van uw OpenAPI met de host property zou er zo uit moeten zien:
// 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. Blader naar Power Automate en voeg een aangepaste connector toe zoals beschreven in Aangepaste connectoren gebruiken in Power Automate.

  2. Nadat u de OpenAPI uploadt, detecteert de wizard automatisch dat u Microsoft Entra ID-verificatie gebruikt voor de Web-API.

  3. Configureer de Microsoft Entra ID-verificatie voor de aangepaste connector.

  • Client-ID: Client-ID van webAPI-CustomAPI
  • Geheim: Clientsleutel van webAPI-CustomAPI
  • Inlog-URL: https://login.windows.net
  • ResourceUri: Client-ID van webAPI
  1. Selecteer Maken om een verbinding te maken met de aangepaste connector.

Meer informatie over ID-authenticatie Microsoft Entra

Feedback geven

We stellen feedback over problemen met ons connectorplatform of ideeën voor nieuwe functies zeer op prijs. Als u feedback wilt geven, gaat u naar Problemen indienen of hulp krijgen met connectoren en selecteert u het type feedback.