Ügyfélalkalmazások inicializálása

Befejeződött

A MSAL.NET 3.x esetén az alkalmazás példányosításának ajánlott módja az alkalmazáskészítők használata: PublicClientApplicationBuilder és ConfidentialClientApplicationBuilder. Hatékony mechanizmust kínálnak az alkalmazás kódból vagy konfigurációs fájlból való konfigurálásához, vagy akár mindkét módszer keverésével.

Az alkalmazás inicializálása előtt először regisztrálnia kell, hogy az alkalmazás integrálható legyen a Microsoft Identitásplatform. A regisztráció után szükség lehet a következő információkra (amelyek az Azure Portalon találhatók):

  • Alkalmazás (ügyfél) azonosítója – Ez egy GUID-t képviselő karakterlánc.
  • Címtár (bérlő) azonosítója – Identitás- és hozzáférés-kezelési (IAM) képességeket biztosít a szervezet által használt alkalmazásokhoz és erőforrásokhoz. Megadhatja, hogy kizárólag a szervezet számára ír-e üzletági alkalmazást (más néven egybérlős alkalmazást).
  • Az identitásszolgáltató URL-címe (a példány neve) és az alkalmazás bejelentkezési célközönsége. Ezt a két paramétert együttesen hatóságnak nevezzük.
  • Ügyfél hitelesítő adatai – amelyek lehetnek alkalmazáskulcsok (titkos ügyfélkód sztring) vagy tanúsítvány (típus X509Certificate2) formájában, ha bizalmas ügyfélalkalmazás.
  • Webalkalmazások, és néha nyilvános ügyfélalkalmazások esetén (különösen akkor, ha az alkalmazásnak közvetítőt kell használnia), be kell állítania az átirányítási URI-t , ahol az identitásszolgáltató visszaküldi a biztonsági jogkivonatot az alkalmazásnak.

Nyilvános és bizalmas ügyfélalkalmazások inicializálása kódból

Az alábbi kód létrehoz egy nyilvános ügyfélalkalmazást, a Microsoft Azure nyilvános felhőbe bejelentkező felhasználókat munkahelyi és iskolai fiókjával vagy személyes Microsoft-fiókjával.

IPublicClientApplication app = PublicClientApplicationBuilder.Create(clientId).Build();

A következő kód ugyanígy létrehoz egy bizalmas alkalmazást (egy webalkalmazást https://myapp.azurewebsites.net), amely a Nyilvános Microsoft Azure-felhő felhasználóitól származó jogkivonatokat kezeli munkahelyi és iskolai fiókjával vagy személyes Microsoft-fiókjával. Az alkalmazás az identitásszolgáltatóval azonosítva van egy titkos ügyfélkód megosztásával:

string redirectUri = "https://myapp.azurewebsites.net";
IConfidentialClientApplication app = ConfidentialClientApplicationBuilder.Create(clientId)
    .WithClientSecret(clientSecret)
    .WithRedirectUri(redirectUri )
    .Build();

Builder-módosítók

Az alkalmazásszerkesztőket használó kódrészletekben a metódusok .With módosítóként (például .WithAuthority és .WithRedirectUri) alkalmazhatók.

  • .WithAuthority módosító: A .WithAuthority módosító az alkalmazás alapértelmezett szolgáltatóját Egy Microsoft Entra-szolgáltatóra állítja be, lehetőség van az Azure Cloud, a célközönség, a bérlő (bérlőazonosító vagy tartománynév) kiválasztására, vagy közvetlenül a szolgáltató URI-jának megadására.

    IPublicClientApplication app;
    app = PublicClientApplicationBuilder.Create(clientId)
        .WithAuthority(AzureCloudInstance.AzurePublic, tenantId)
        .Build();
    
  • .WithRedirectUri módosító: A .WithRedirectUri módosító felülírja az alapértelmezett átirányítási URI-t.

    IPublicClientApplication app;
    app = PublicClientApplicationBuilder.Create(client_id)
        .WithAuthority(AzureCloudInstance.AzurePublic, tenant_id)
        .WithRedirectUri("http://localhost")
        .Build();
    

Nyilvános és bizalmas ügyfélalkalmazásokhoz gyakran használt módosítók

Az alábbi táblázat felsorol néhány módosító elemet, amelyek nyilvános vagy bizalmas ügyfélen állíthatók be.

Módosító Leírás
.WithAuthority() Az alkalmazás alapértelmezett szolgáltatóját Egy Microsoft Entra-szolgáltatóra állítja be az Azure Cloud, a célközönség, a bérlő (bérlőazonosító vagy tartománynév) kiválasztásával, vagy közvetlenül a szolgáltató URI-jának biztosításával.
.WithTenantId(string tenantId) Felülbírálja a bérlőazonosítót vagy a bérlő leírását.
.WithClientId(string) Felülírja az ügyfél-azonosítót.
.WithRedirectUri(string redirectUri) Felülbírálja az alapértelmezett átirányítási URI-t. Ez olyan helyzetekben hasznos, amelyekhez közvetítőre van szükség.
.WithComponent(string) A kódtár nevét MSAL.NET használatával állítja be (telemetriai okokból).
.WithDebugLoggingCallback() Hívás esetén az alkalmazás Debug.Write egyszerűen engedélyezi a hibakeresési nyomkövetéseket.
.WithLogging() Hívás esetén az alkalmazás visszahívást hív meg hibakeresési nyomkövetésekkel.
.WithTelemetry(TelemetryCallback telemetryCallback) Beállítja a telemetriai adatok küldéséhez használt meghatalmazottat.

Bizalmas ügyfélalkalmazásokra jellemző módosítók

A bizalmas ügyfélalkalmazás-szerkesztőre vonatkozó módosítók az ConfidentialClientApplicationBuilder osztályban találhatók. A különböző módszerek az Azure SDK for .NET dokumentációjában találhatók.

Az olyan módosítók, mint például .WithCertificate(X509Certificate2 certificate) a .WithClientSecret(string clientSecret) kölcsönösen kizáróak. Ha mindkettőt megadja, az MSAL jelentős kivételt eredményez.