Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
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.
Högerklicka på Programgrupper i AD FS-hantering och välj Lägg till programgrupp.
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.
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.
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.
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.
På skärmen Tillämpa åtkomstkontrollprincip väljer du Tillåt alla och klickar på Nästa.
På skärmen Konfigurera programbehörigheter kontrollerar du att openid och user_impersonation är markerade och klickar på Nästa.
På skärmen Sammanfattning klickar du på Nästa.
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
Ladda ned exemplet härifrån
Öppna exemplet med Visual Studio
Ö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.
Testa exemplet
Det här avsnittet visar hur du testar det konfigurerade exemplet.
När kodändringarna har gjorts återskapar du lösningen.
Kontrollera att Internet Explorer är markerat överst i Visual Studio och klicka på den gröna pilen.
På startsidan klickar du på Logga in.
Du dirigeras om till ad FS-inloggningssidan. Gå vidare och logga in.
När du har loggat in klickar du på Åtkomsttoken.
Om du klickar på Åtkomsttoken hämtas information om åtkomsttoken genom att anropa webb-API:et.