Megosztás a következőn keresztül:


Webes API-kat hívó asztali alkalmazás: Kódkonfiguráció

Most, hogy létrehozta az alkalmazást, megtudhatja, hogyan konfigurálhatja a kódot az alkalmazás koordinátáival.

Asztali alkalmazásokat támogató Microsoft-kódtárak

A következő Microsoft-kódtárak támogatják az asztali alkalmazásokat:

Nyelv/ keretrendszer Projekt bekapcsolva
GitHub
Csomag Megszerzés
közül
Felhasználók bejelentkezése Webes API-k elérése Általánosan elérhető (GA) vagy
1. nyilvános előzetes verzió
Electron MSAL Node.js msal-node A kódtár azonosító jogkivonatokat kérhet a felhasználói bejelentkezéshez. A kódtár hozzáférési jogkivonatokat kérhet védett webes API-khoz. Nyilvános előzetes verzió
Java MSAL4J msal4j A kódtár azonosító jogkivonatokat kérhet a felhasználói bejelentkezéshez. A kódtár hozzáférési jogkivonatokat kérhet védett webes API-khoz. FE
macOS (Swift/Obj-C) MSAL iOS-hez és macOS-hez MSAL Oktatóanyag A kódtár azonosító jogkivonatokat kérhet a felhasználói bejelentkezéshez. A kódtár hozzáférési jogkivonatokat kérhet védett webes API-khoz. FE
UWP MSAL.NET Microsoft.Identity.Client Oktatóanyag A kódtár azonosító jogkivonatokat kérhet a felhasználói bejelentkezéshez. A kódtár hozzáférési jogkivonatokat kérhet védett webes API-khoz. FE
WPF MSAL.NET Microsoft.Identity.Client Oktatóanyag A kódtár azonosító jogkivonatokat kérhet a felhasználói bejelentkezéshez. A kódtár hozzáférési jogkivonatokat kérhet védett webes API-khoz. FE

1 Az online szolgáltatásokra vonatkozó univerzális licencfeltételek nyilvános előzetes verziójú kódtárakra vonatkoznak.

Nyilvános ügyfélalkalmazás

Kód szempontjából az asztali alkalmazások nyilvános ügyfélalkalmazások. A konfiguráció kissé eltérő lesz attól függően, hogy interaktív hitelesítést használ-e.

Létre kell készítenie és módosítania kell MSAL.NET IPublicClientApplication.

IPublicClientApplication

Kizárólag kód alapján

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

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

Ha interaktív hitelesítést vagy eszközkód-folyamatot szeretne használni, ahogy korábban láttuk, használja a .WithRedirectUri módosítót.

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

Konfigurációs fájlok használata

Az alábbi kód létrehoz egy nyilvános ügyfélalkalmazást egy konfigurációs objektumból, amely programozott módon tölthető ki, vagy egy konfigurációs fájlból olvasható.

PublicClientApplicationOptions options = GetOptions(); // your own method
IPublicClientApplication app = PublicClientApplicationBuilder.CreateWithApplicationOptions(options)
        .WithDefaultRedirectUri()
        .Build();

Részletesebb konfiguráció

Az alkalmazás felépítését több módosító hozzáadásával is kidolgozhatja. Ha például azt szeretné, hogy az alkalmazás több-bérlős alkalmazás legyen egy nemzeti felhőben, például az ITT látható US Government, a következőt írhatja:

IPublicClientApplication app;
app = PublicClientApplicationBuilder.Create(clientId)
        .WithDefaultRedirectUri()
        .WithAadAuthority(AzureCloudInstance.AzureUsGovernment,
                         AadAuthorityAudience.AzureAdMultipleOrgs)
        .Build();

MSAL.NET a 2019-Active Directory összevonási szolgáltatások (AD FS) módosító is:

IPublicClientApplication app;
app = PublicClientApplicationBuilder.Create(clientId)
        .WithAdfsAuthority("https://consoso.com/adfs")
        .Build();

Végül, ha jogkivonatokat szeretne beszerezni egy Azure Active Directory (Azure AD) B2C-bérlőhöz, adja meg a bérlőt az alábbi kódrészletben látható módon:

IPublicClientApplication app;
app = PublicClientApplicationBuilder.Create(clientId)
        .WithB2CAuthority("https://fabrikamb2c.b2clogin.com/tfp/{tenant}/{PolicySignInSignUp}")
        .Build();

További információ

További információ az asztali MSAL.NET konfigurálásáról:

  • Az összes elérhető módosító PublicClientApplicationBuilderlistáját a PublicClientApplicationBuilder referenciadokumentációjában találja.
  • A rendelkezésre álló PublicClientApplicationOptionslehetőségek leírását a referenciadokumentáció PublicClientApplicationOptions című szakaszában találja.

Teljes példa a konfigurációs beállításokkal

Képzeljen el egy .NET-konzolalkalmazást, amely a következő appsettings.json konfigurációs fájllal rendelkezik:

{
  "Authentication": {
    "AzureCloudInstance": "AzurePublic",
    "AadAuthorityAudience": "AzureAdMultipleOrgs",
    "ClientId": "00001111-aaaa-2222-bbbb-3333cccc4444"
  },

  "WebAPI": {
    "MicrosoftGraphBaseEndpoint": "https://graph.microsoft.com"
  }
}

Kevés kódot kell olvasnia ebben a fájlban a . NET által biztosított konfigurációs keretrendszer:

public class SampleConfiguration
{
 /// <summary>
 /// Authentication options
 /// </summary>
 public PublicClientApplicationOptions PublicClientApplicationOptions { get; set; }

 /// <summary>
 /// Base URL for Microsoft Graph (it varies depending on whether the application runs
 /// in Microsoft Azure public clouds or national or sovereign clouds)
 /// </summary>
 public string MicrosoftGraphBaseEndpoint { get; set; }

 /// <summary>
 /// Reads the configuration from a JSON file
 /// </summary>
 /// <param name="path">Path to the configuration json file</param>
 /// <returns>SampleConfiguration as read from the json file</returns>
 public static SampleConfiguration ReadFromJsonFile(string path)
 {
  // .NET configuration
  IConfigurationRoot Configuration;
  var builder = new ConfigurationBuilder()
                    .SetBasePath(Directory.GetCurrentDirectory())
                    .AddJsonFile(path);
  Configuration = builder.Build();

  // Read the auth and graph endpoint configuration
  SampleConfiguration config = new SampleConfiguration()
  {
   PublicClientApplicationOptions = new PublicClientApplicationOptions()
  };
  Configuration.Bind("Authentication", config.PublicClientApplicationOptions);
  config.MicrosoftGraphBaseEndpoint =
  Configuration.GetValue<string>("WebAPI:MicrosoftGraphBaseEndpoint");
  return config;
 }
}

Az alkalmazás létrehozásához írja be a következő kódot:

SampleConfiguration config = SampleConfiguration.ReadFromJsonFile("appsettings.json");
var app = PublicClientApplicationBuilder.CreateWithApplicationOptions(config.PublicClientApplicationOptions)
           .WithDefaultRedirectUri()
           .Build();

A metódus hívása .Build() előtt felülbírálhatja a konfigurációt metódusokra irányuló .WithXXX hívásokkal, ahogy azt korábban láttuk.

Következő lépések

Lépjen tovább a következő cikkre ebben a forgatókönyvben, és szerezze be az asztali alkalmazás jogkivonatát.