Systeemeigen clienttoepassingen inschakelen voor interactie met proxytoepassingen

U kunt Azure Active Directory (Azure AD) toepassingsproxy gebruiken om web-apps te publiceren, maar het kan ook worden gebruikt om systeemeigen clienttoepassingen te publiceren die zijn geconfigureerd met de Microsoft Authentication Library (MSAL). Systeemeigen client toepassingen verschillen van web-apps omdat ze zijn geĆÆnstalleerd op een apparaat, terwijl web-apps via een browser worden geopend.

Ter ondersteuning van systeemeigen clienttoepassingen accepteert toepassingsproxy Azure AD uitgegeven tokens die in de header worden verzonden. De toepassingsproxy-service voert de verificatie voor de gebruikers uit. Deze oplossing gebruikt geen toepassingstokens voor verificatie.

Relatie tussen eindgebruikers, Azure AD en gepubliceerde toepassingen

Als u systeemeigen toepassingen wilt publiceren, gebruikt u de Microsoft Authentication Library, die zorgt voor verificatie en ondersteuning biedt voor veel clientomgevingen. toepassingsproxy past in de bureaublad-app die een web-API aanroept namens een aangemelde gebruiker.

In dit artikel worden de vier stappen beschreven voor het publiceren van een systeemeigen toepassing met toepassingsproxy en de Azure AD Authentication Library.

Stap 1: uw proxytoepassing publiceren

Publiceer uw proxytoepassing net als elke andere toepassing en wijs gebruikers toe voor toegang tot uw toepassing. Zie Toepassingen publiceren met toepassingsproxy voor meer informatie.

Stap 2: Uw systeemeigen toepassing registreren

U moet nu uw toepassing als volgt registreren in Azure AD:

  1. Meld u aan bij de Azure Active Directory Portal. Het dashboard voor het Azure Active Directory-beheercentrum wordt weergegeven.

  2. Selecteer Azure Active Directory in de zijbalk. De overzichtspagina van Azure Active Directory wordt weergegeven.

  3. Selecteer App-registraties in de zijbalk overzicht van Azure AD. De lijst met alle app-registraties wordt weergegeven.

  4. Selecteer Nieuwe registratie. De pagina Een toepassing registreren wordt weergegeven.

    Een nieuwe app-registratie maken in de Azure Portal

  5. Geef in de kop Naam een gebruikersgerichte weergavenaam op voor uw toepassing.

  6. Selecteer onder de kop Ondersteunde accounttypen een toegangsniveau aan de hand van deze richtlijnen:

    • Als u zich alleen wilt richten op accounts die intern zijn voor uw organisatie, selecteert u Alleen accounts in deze organisatiemap.
    • Als u zich alleen wilt richten op zakelijke of onderwijsklanten, selecteert u Accounts in een organisatiedirectory.
    • Als u zich wilt richten op de breedste set Microsoft identiteiten, selecteert u Accounts in een organisatieadreslijst en persoonlijke Microsoft-accounts.
  7. Selecteer onder Omleidings-URIde optie Openbare client (mobiel & bureaublad) en typ vervolgens de omleidings-URI https://login.microsoftonline.com/common/oauth2/nativeclient voor uw toepassing.

  8. Selecteer en lees het Microsoft Platformbeleid en selecteer vervolgens Registreren. Er wordt een overzichtspagina voor de registratie van de nieuwe toepassing gemaakt en weergegeven.

Zie Toepassingen integreren met Azure Active Directory voor meer informatie over het maken van een nieuwe toepassingsregistratie.

Stap 3: toegang verlenen tot uw proxytoepassing

Nu u uw systeemeigen toepassing hebt geregistreerd, kunt u deze toegang geven tot andere toepassingen in uw directory, in dit geval om toegang te krijgen tot de proxytoepassing. De systeemeigen toepassing beschikbaar maken voor de proxytoepassing:

  1. Selecteer API-machtigingen in de zijbalk van de registratiepagina van de nieuwe toepassing. De pagina API-machtigingen voor de registratie van de nieuwe toepassing wordt weergegeven.
  2. Selecteer Een machtiging toevoegen. De pagina API-machtigingen aanvragen wordt weergegeven.
  3. Selecteer onder de instelling Een API selecterende optie API's die mijn organisatie gebruikt. Er wordt een lijst weergegeven met de toepassingen in uw directory die API's beschikbaar maken.
  4. Typ in het zoekvak of blader naar de proxytoepassing die u hebt gepubliceerd in Stap 1: Uw proxytoepassing publiceren en selecteer vervolgens de proxytoepassing.
  5. Selecteer in de kop Welk type machtigingen vereist uw toepassing? het machtigingstype . Als uw systeemeigen toepassing toegang moet hebben tot de proxytoepassings-API als de aangemelde gebruiker, kiest u Gedelegeerde machtigingen.
  6. Selecteer in de kop Machtigingen selecteren de gewenste machtiging en selecteer Machtigingen toevoegen. Op de pagina API-machtigingen voor uw systeemeigen toepassing worden nu de proxytoepassing en machtigings-API weergegeven die u hebt toegevoegd.

Stap 4: de Microsoft Authentication Library toevoegen aan uw code (.NET C#-voorbeeld)

Bewerk de systeemeigen toepassingscode in de verificatiecontext van msal (Microsoft Authentication Library) zodat deze de volgende tekst bevat:

// Acquire Access Token from AAD for Proxy Application
IPublicClientApplication clientApp = PublicClientApplicationBuilder
.Create(<App ID of the Native app>)
.WithDefaultRedirectUri() // will automatically use the default Uri for native app
.WithAuthority("https://login.microsoftonline.com/{<Tenant ID>}")
.Build();

AuthenticationResult authResult = null;
var accounts = await clientApp.GetAccountsAsync();
IAccount account = accounts.FirstOrDefault();

IEnumerable<string> scopes = new string[] {"<Scope>"};

try
 {
    authResult = await clientApp.AcquireTokenSilent(scopes, account).ExecuteAsync();
 }
    catch (MsalUiRequiredException ex)
 {
     authResult = await clientApp.AcquireTokenInteractive(scopes).ExecuteAsync();                
 }

if (authResult != null)
 {
  //Use the Access Token to access the Proxy Application

  HttpClient httpClient = new HttpClient();
  HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authResult.AccessToken);
  HttpResponseMessage response = await httpClient.GetAsync("<Proxy App Url>");
 }

De vereiste informatie in de voorbeeldcode vindt u als volgt in de Azure AD-portal:

Vereiste gegevens Deze vinden in de Azure AD-portal
<Tenant ID> Azure Active Directory>Eigenschappen>Map-id
<App-id van de systeemeigen app> Toepassingsregistratie>uw systeemeigen toepassing>Overzicht>Toepassings-id
<Bereik> Toepassingsregistratie>uw systeemeigen toepassing>API-machtigingen> Klik op de Machtigings-API (user_impersonation) > Een deelvenster met het bijschrift user_impersonation aan de rechterkant wordt weergegeven. > Het bereik is de URL in het invoervak.
<URL van proxy-app> de externe URL en het pad naar de API

Nadat u de MSAL-code met deze parameters hebt bewerkt, kunnen uw gebruikers zich verifiƫren bij systeemeigen clienttoepassingen, zelfs wanneer ze zich buiten het bedrijfsnetwerk bevinden.

Volgende stappen

Zie mobiele en desktop-apps in Azure Active Directory voor meer informatie over de systeemeigen toepassingsstroom.

Meer informatie over het instellen van eenmalige aanmelding voor toepassingen in Azure Active Directory.