Dela via


Scenario: Webbapp (serverapp) som anropar webb-API

Lär dig hur du bygger en webbapp för att logga in användare autentiserade av AD FS 2019 och hämta token med MSAL-biblioteket för att anropa webb-API:er.

Innan du läser den här artikeln bör du känna till AD FS-begreppen och auktoriseringskodens beviljandeflöde

Översikt

Översikt över webbappens anropande webb-API

I det här flödet lägger du till autentisering i webbappen (serverappen), som därför kan logga in användare och anropa ett webb-API. För att anropa webb-API:et från webbappen använder du MSAL:s AcquireTokenByAuthorizationCode-metoden för att förvärva token. Du använder auktoriseringskodflödet och lagrar den förvärvade token i tokencachen. Sedan hämtar kontrollanten token tyst från cachen när det behövs. MSAL förnyar tokenen om det behövs.

Webbappar som anropar webb-API:er:

  • är konfidentiella klientprogram.
  • registrerade en hemlighet (programhemlighet, certifikat eller AD-konto) med AD FS. Den här hemligheten anges under anropet till AD FS för att hämta en token.

Om du vill registrera en webbapp i AD FS och konfigurera den för att hämta token för att anropa ett webb-API ska vi använda ett exempel som är tillgängligt här och gå igenom stegen för appregistrering och kodkonfiguration.

Förutsättningar

  • GitHub-klientverktyg
  • AD FS 2019 eller senare är konfigurerat och igång.
  • Visual Studio 2013 eller senare

Appregistrering i AD FS

Det här avsnittet visar hur du registrerar webbappen som en konfidentiell klient och ett webb-API som en förlitande part (RP) i AD FS.

  1. Högerklicka på Programgrupper i AD FS-hantering och välj Lägg till programgrupp.

  2. I guiden Programgrupp anger du WebAppToWebApi för namn och under Client-Server program väljer du serverprogrammet som kommer åt en webb-API-mall. Klicka på Nästa.

    Skärmbild av välkomstsidan i guiden Lägg till programgrupp som visar serverprogrammet med åtkomst till en webb-P I-mall markerad.

  3. Kopiera värdet för klientidentifierare . Värdet används senare som värde för ida:ClientId i programmen Web.config filen. Ange följande för omdirigerings-URI: - https://localhost:44326. Klicka på Lägg till. Klicka på Nästa.

    Skärmbild av Serverprogram-sidan i guiden Lägg till programgrupp som visar rätt klientidentifierare och omdirigerings-URI.

  4. På skärmen Konfigurera programautentiseringsuppgifter gör du en incheckning Generera en delad hemlighet och kopierar hemligheten. Den här hemligheten används senare som värde för ida:ClientSecret i program Web.config fil. Klicka på Nästa.

    Skärmbild av programsidan Konfigurera programautentiseringsuppgifter i guiden Lägg till programgrupp som visar alternativet Generera en delad hemlighet markerad och den genererade delade hemligheten ifylld.

  5. På skärmen Konfigurera webb-API anger du identifieraren:https://webapi. Klicka på Lägg till. Klicka på Nästa. Det här värdet används senare för ida:GraphResourceId i programmen Web.config filen.

    Skärmbild av sidan Konfigurera webb-API i guiden Lägg till programgrupp som visar rätt identifierare.

  6. På skärmen Tillämpa åtkomstkontrollprincip väljer du Tillåt alla och klickar på Nästa.

    Skärmbild av sidan Välj åtkomstkontrollprincip i guiden Lägg till programgrupp som visar alternativet Tillåt alla markerat.

  7. På skärmen Konfigurera programbehörigheter kontrollerar du att openid och user_impersonation är markerade och klickar på Nästa.

    Skärmbild av sidan Konfigurera programbehörigheter i guiden Lägg till programgrupp som visar alternativen öppna I D och användarpersonifiering valt.

  8. På skärmen Sammanfattning klickar du på Nästa.

  9. På skärmen Slutför klickar du på Stäng.

Kodkonfiguration

Det här avsnittet visar hur du konfigurerar en ASP.NET webbapp för att logga in användare och hämta token för att anropa webb-API:et

  1. Ladda ned exemplet härifrån

  2. Öppna exemplet med Visual Studio

  3. Öppna filen web.config. Ändra följande:

    • ida:ClientId – ange värdet för klientidentifierare från #3 i avsnittet Appregistrering i AD FS.

    • ida:ClientSecret – ange det hemliga värdet från #4 i avsnittet Appregistrering i AD FS.

    • ida:RedirectUri – ange värdet Omdirigerings-URI från #3 i avsnittet Appregistrering i AD FS.

    • ida:Authority – ange https://[ditt AD FS-värdnamn]/adfs. T.ex. https://adfs.contoso.com/adfs

    • ida:Resource – ange identifierarvärdet från #5 i avsnittet Appregistrering i AD FS.

      Skärmbild av webbkonfigurationsfilen som visar de ändrade värdena.

Testa exemplet

Det här avsnittet visar hur du testar det konfigurerade exemplet.

  1. När kodändringarna har gjorts återskapar du lösningen.

  2. Kontrollera att Internet Explorer är markerat överst i Visual Studio och klicka på den gröna pilen.

    Skärmbild av Visual Studio-användargränssnittet med alternativet IIS Express (Internet Explorer) framhävt.

  3. På startsidan klickar du på Logga in.

    Skärmbild av startsidan med alternativet Logga in markerat.

  4. Du dirigeras om till ad FS-inloggningssidan. Gå vidare och logga in.

    Skärmbild av inloggningssidan.

  5. När du har loggat in klickar du på Åtkomsttoken.

    Skärmbild av startsidan med alternativet Åtkomsttoken markerat.

  6. Om du klickar på Åtkomsttoken hämtas information om åtkomsttoken genom att anropa webb-API:et.

    Skärmbild av sidan Åtkomsttoken som visar information om åtkomsttoken.

Nästa steg

AD FS OpenID Connect/OAuth-flöden och programscenarier