Erstellen einer Webanwendung mit OpenID Connect mit AD FS 2016 und höherBuild a web application using OpenID Connect with AD FS 2016 and later

VoraussetzungenPre-requisites

Im folgenden finden Sie eine Liste der Voraussetzungen, die vor der Fertigstellung dieses Dokuments erforderlich sind.The following are a list of pre-requisites that are required prior to completing this document. In diesem Dokument wird davon ausgegangen, dass AD FS installiert und eine AD FS-Farm erstellt wurde.This document assumes that AD FS has been installed and an AD FS farm has been created.

  • GitHub-Client ToolsGitHub client tools

  • AD FS in Windows Server 2016 TP4 oder höherAD FS in Windows Server 2016 TP4 or later

  • Visual Studio 2013 oder höher.Visual Studio 2013 or later.

Erstellen einer Anwendungs Gruppe in AD FS 2016 und höherCreate an Application Group in AD FS 2016 and later

Im folgenden Abschnitt wird beschrieben, wie Sie die Anwendungs Gruppe in AD FS 2016 und höher konfigurieren.The following section describes how to configure the application group in AD FS 2016 and later.

Anwendungs Gruppe erstellenCreate Application Group

  1. Klicken Sie in AD FS Verwaltung mit der rechten Maustaste auf Anwendungs Gruppen, und wählen Sie Anwendungs Gruppe hinzufügenaus.In AD FS Management, right-click on Application Groups and select Add Application Group.

  2. Geben Sie im Anwendungs Gruppen-Assistenten für den Namen ADF-so ein, und wählen Sie unter Client-Server Anwendungen den Webbrowser aus, der auf eine Webanwendungsvorlage zugreift .On the Application Group Wizard, for the name enter ADFSSSO and under Client-Server applications select the Web browser accessing a web application template. Klicken Sie auf Weiter.Click Next.

    OpenID AD FS

  3. Kopieren Sie den Wert für den Client Bezeichner .Copy the Client Identifier value. Sie wird später als Wert für "Ida: ClientID" in der Datei "Web. config" der Anwendung verwendet.It will be used later as the value for ida:ClientId in the applications web.config file.

  4. Geben Sie für Umleitungs-URI - Folgendes ein: https://localhost:44320/ .Enter the following for Redirect URI: - https://localhost:44320/. Klicken Sie auf Hinzufügen.Click Add. Klicken Sie auf Weiter.Click Next.

    OpenID AD FS

  5. Klicken Sie auf dem Bildschirm Zusammenfassung auf weiter.On the Summary screen, click Next.

    OpenID AD FS

  6. Klicken Sie im Bildschirm Fertig stellen auf Schließen.On the Complete screen, click Close.

Herunterladen und Ändern der Beispielanwendung für die Authentifizierung über OpenID Connect und AD FSDownload and modify sample application to authenticate via OpenID Connect and AD FS

In diesem Abschnitt wird erläutert, wie Sie die Beispiel-Web-App herunterladen und in Visual Studio ändern.This section discusses how to download the sample Web APP and modify it in Visual Studio. Wir verwenden das hierAzure AD Beispiel.We will be using the Azure AD sample that is here.

Verwenden Sie zum Herunterladen des Beispielprojekts git bash, und geben Sie Folgendes ein:To download the sample project, use Git Bash and type the following:

git clone https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect  

OpenID AD FS

So ändern Sie die APPTo Modify the app

  1. Öffnen Sie das Beispiel mithilfe von Visual Studio.Open the sample using Visual Studio.

  2. Erstellen Sie die APP neu, sodass alle fehlenden nugets wieder hergestellt werden.Rebuild the app so that all of the missing NuGets are restored.

  3. Öffnen Sie die Datei "Web. config".Open the web.config file. Ändern Sie die folgenden Werte so, dass Sie wie folgt aussehen:Modify the following values so the look like the following:

    <add key="ida:ClientId" value="[Replace this Client Id from #3 in above section]" />  
    <add key="ida:ADFSDiscoveryDoc" value="https://[Your ADFS hostname]/adfs/.well-known/openid-configuration" />  
    <!--<add key="ida:Tenant" value="[Enter tenant name, e.g. contoso.onmicrosoft.com]" />      
    <add key="ida:AADInstance" value="https://login.microsoftonline.com/{0}" />-->  
    <add key="ida:PostLogoutRedirectUri" value="[Replace this with Redirect URI from #4 in the above section]" />  
    

    OpenID AD FS

  4. Öffnen Sie die Datei Startup.auth.cs, und nehmen Sie die folgenden Änderungen vor:Open the Startup.Auth.cs file and make the following changes:

    • Kommentieren Sie Folgendes aus:Comment out the following:

      //string Authority = String.Format(CultureInfo.InvariantCulture, aadInstance, tenant);  
      
    • Optimieren Sie die Initialisierungs Logik der OpenID Connect-Middleware mit den folgenden Änderungen:Tweak the OpenId Connect middleware initialization logic with the following changes:

      private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];  
      //private static string aadInstance = ConfigurationManager.AppSettings["ida:AADInstance"];  
      //private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"];  
      private static string metadataAddress = ConfigurationManager.AppSettings["ida:ADFSDiscoveryDoc"];  
      private static string postLogoutRedirectUri = ConfigurationManager.AppSettings["ida:PostLogoutRedirectUri"];  
      

      OpenID AD FS

    • Ändern Sie die Optionen für die OpenID Connect-Middleware wie folgt:Further down, modify the OpenId Connect middleware options as in the following:

      app.UseOpenIdConnectAuthentication(  
          new OpenIdConnectAuthenticationOptions  
          {  
              ClientId = clientId,  
              //Authority = authority,  
              MetadataAddress = metadataAddress,  
              PostLogoutRedirectUri = postLogoutRedirectUri,
              RedirectUri = postLogoutRedirectUri
      

      OpenID AD FS

      Durch Ändern der oben genannten Aktionen gehen wir wie folgt vor:By changing the above we are doing the following:

      • Anstatt die Berechtigung zum Kommunizieren von Daten über den vertrauenswürdigen Aussteller zu verwenden, geben wir den Speicherort des Discovery doc direkt über MetadataAddress an.Instead of using the Authority for communicating data about the trusted issuer, we specify the discovery doc location directly via MetadataAddress

      • Azure AD erzwingt nicht das vorhanden sein einer redirect_uri in der Anforderung, ADFS jedoch.Azure AD does not enforce the presence of a redirect_uri in the request, but ADFS does. Wir müssen ihn hier hinzufügen.So, we need to add it here

Überprüfen, ob die APP funktioniertVerify the app is working

Nachdem die obigen Änderungen vorgenommen wurden, drücken Sie F5.Once the above changes have been made, hit F5. Dadurch wird die Beispielseite angezeigt.This will bring up the sample page. Klicken Sie auf anmelden.Click on sign in.

OpenID AD FS

Sie werden auf die AD FS Anmeldeseite umgeleitet.You will be re-directed to the AD FS sign-in page. Fahren Sie fort, und melden Sie sich an.Go ahead and sign in.

OpenID AD FS

Wenn dies erfolgreich ist, sollten Sie sehen, dass Sie jetzt angemeldet sind.Once this is successful you should see that you are now signed in.

OpenID AD FS

Nächste SchritteNext Steps

AD FS-EntwicklungAD FS Development