In deze zelfstudie leert u hoe u een ASP.NET-web-API maakt, hoe u deze in Azure Web Apps host, hoe u Azure Active Directory-verificatie inschakelt en hoe u de ASP.NET-web-API in PowerApps registreert. Nadat de API is geregistreerd, kunt u hiermee verbinding maken en deze aanroepen vanuit uw app.

Vereisten

Een ASP.NET-web-API maken en implementeren in Azure

  1. Klik in Visual Studio op Bestand > Nieuw project om een nieuwe C# ASP.NET-webtoepassing te maken.

    Nieuwe web-app

  2. Selecteer de sjabloon Web-API. Houd Host in the cloud ingeschakeld. Klik op Change Authentication.

    Nieuwe sjabloon voor webproject

  3. Selecteer No Authentication en klik op OK.

    Geen verificatie

  4. Klik op OK in het dialoogvenster New ASP.NET Project. Het dialoogvenster Configure Microsoft Azure Web App wordt weergegeven.

    Microsoft Azure Web App configureren ]

    Selecteer uw type Azure-account, typ een web-app-naam (of laat de standaardnaam staan) en selecteer uw abonnement op Azure. Selecteer of maak een App Service-plan (een verzameling Web-apps binnen uw abonnement). Selecteer of maak een resourcegroep (een groep Azure-resources voor uw abonnement). Selecteer de regio waar de web-app moet worden geïmplementeerd. Selecteer of maak een databaseserver voor Azure indien deze is vereist voor uw web-API. Klik ten slotte op OK.

  5. Breid uw web-API verder uit.

    Opmerking: raadpleeg de zelfstudie Aan de slag met ASP.NET Web API 2 (C#) als u nog geen code voor een web-API hebt.

  6. Als u verbinding wilt maken met de web-API voor PowerApps, hebt u een OpenAPI-bestand nodig, waarin de bewerkingen staan beschreven. U kunt zelf een OpenAPI-bestand schrijven met de online-editor, maar voor deze zelfstudie gebruikt u het open source-programma Swashbuckle. Installeer het Swashbuckle Nuget-pakket in uw Visual Studio-project door op Hulpprogramma's > NuGet Package Manager > Package Manager Console te klikken. Typ vervolgens de opdracht Install-Package Swashbuckle in Package Manager Console.

    Install-Package Swashbuckle

    Tip: wanneer u de web-API-toepassing uitvoert na de installatie van Swashbuckle, wordt er een OpenAPI-bestand gegenereerd op de URL http://<your root URL>/swagger/docs/v1. Er is ook een gegenereerde gebruikersinterface beschikbaar op http://<your root URL>/swagger.

  7. Als de web-API klaar is, kunt u deze publiceren naar Azure. Als u vanuit Visual Studio wilt publiceren, klikt u met de rechtermuisknop op het webproject in Solution Explorer, vervolgens op Publiceren... en volgt u de aanwijzingen in het dialoogvenster Publiceren.

  8. Haal de OpenAPI-JSON op door naar https://<azure-webapp-url>/swagger/docs/v1 te navigeren. 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.

    Belangrijk: een OpenAPI-document met dubbele bewerkings-id's is ongeldig. Als u de C#-voorbeeldsjabloon gebruikt, wordt bewerkings-id Values_Get tweemaal herhaald. U kunt dit herstellen door één exemplaar te wijzigen in Value_Get en opnieuw te publiceren. U kunt ook een OpenAPI-voorbeeldbestand uit deze zelfstudie downloaden. Verwijder de opmerkingen (beginnend met //) voordat u het gebruikt.

Azure Active Directory-verificatie instellen

U gaat nu twee Azure Active Directory-toepassingen (AAD) maken in Azure. Zie de zelfstudie over Azure Resource Manager voor een voorbeeld hiervan.

Belangrijk: beide apps moeten zich in dezelfde map bevinden.

Eerste ADD-toepassing: de web-API beveiligen

De eerste ADD-toepassing wordt gebruikt om de web-API te beveiligen. Noem deze toepassing webAPI. Volg de stappen in de zelfstudie via de koppeling hierboven (alleen de sectie getiteld 'Enable authentication in Azure Active Directory') met de volgende waarden:

  • 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.
  • Belangrijk: noteer de toepassings-id. Deze hebt u later nodig.

Tweede AAD-toepassing: de aangepaste connector beveiligen en gedelegeerde toegang

De tweede AAD-toepassing wordt gebruikt om de aangepaste connectorregistratie te beveiligen en gedelegeerde toegang te krijgen tot de web-API die door de eerste toepassing wordt beschermd. Noem deze toepassing 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.
  • U hebt de toepassings-id van deze toepassing ook later nog nodig, dus onthoud deze.
  • Genereer een clientsleutel en bewaar deze op een veilige plaats. U hebt deze sleutel later nog nodig.

Authenticatie toevoegen aan uw Azure-web-app

  1. Meld u aan bij Azure Portal en zoek de web-app die u in de eerste sectie hebt geïmplementeerd.
  2. Klik op Instellingen en selecteer Verificatie/autorisatie.
  3. Schakel App Service-verificatie in en selecteer Azure Active Directory. Op de volgende blade selecteert u Express.
  4. Klik op Bestaande AD-app selecteren en selecteer de AAD-toepassing webAPI die u eerder hebt gemaakt.

U moet nu gebruik kunnen maken van AAD om uw webtoepassing te verifiëren.

De aangepaste connector aan PowerApps toevoegen

  1. Wijzig het OpenAPI-bestand om het securityDefintions-object en de AAD-verificatie die voor de web-app wordt gebruikt toe te voegen. De sectie van het OpenAPI-bestand met de eigenschap Host moet er als volgt uitzien:
// 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. Blader naar PowerApps en voeg een aangepaste connector toe, zoals beschreven in het Engelstalige artikel Register and use custom connectors in PowerApps.

  2. Zodra u het OpenAPI-bestand hebt geüpload, wordt door de wizard automatisch gedetecteerd dat u AAD-verificatie gebruikt voor uw web-API.

  3. Configureer de AAD-verificatie voor de aangepaste connector.

    • Client-id: client-id van webAPI-CustomAPI
    • Geheim: clientsleutel van webAPI-CustomAPI
    • Aanmeldings-URL: https://login.windows.net
    • ResourceUri: client-id van webAPI
  4. Klik op Maken en maak verbinding met de aangepaste connector.

Volgende stappen

Lees de Engelstalige zelfstudie Azure Resource Manager custom connector.