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 | — | Nyilvános előzetes verzió | ||
Java | MSAL4J | msal4j | — | FE | ||
macOS (Swift/Obj-C) | MSAL iOS-hez és macOS-hez | MSAL | Oktatóanyag | FE | ||
UWP | MSAL.NET | Microsoft.Identity.Client | Oktatóanyag | FE | ||
WPF | MSAL.NET | Microsoft.Identity.Client | Oktatóanyag | 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
.
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ó
PublicClientApplicationBuilder
listáját a PublicClientApplicationBuilder referenciadokumentációjában találja. - A rendelkezésre álló
PublicClientApplicationOptions
lehető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.