Desktopová aplikace, která volá webová rozhraní API: Volání webového rozhraní API
Teď, když máte token, můžete volat chráněné webové rozhraní API.
Volání webového rozhraní API
Vlastnosti AuthenticationResult v MSAL.NET
Metody získání tokenů vrátí AuthenticationResult
. U asynchronních metod Task<AuthenticationResult>
vrátí hodnotu.
V MSAL.NET AuthenticationResult
zveřejňuje:
AccessToken
pro přístup k prostředkům webového rozhraní API. Tento parametr je řetězec, obvykle kódovaný jako Base-64 JWT. Klient by nikdy neměl hledat uvnitř přístupového tokenu. Formát není zaručený, že zůstane stabilní a může být pro prostředek zašifrovaný. Psaní kódu, který závisí na obsahu přístupového tokenu na klientovi, je jedním z největších zdrojů chyb a přerušení logiky klienta. Další informace najdete v tématu Přístupové tokeny.IdToken
pro uživatele. Tento parametr je kódovaný JWT. Další informace najdete v tématu Tokeny ID.ExpiresOn
udává datum a čas vypršení platnosti tokenu.TenantId
obsahuje tenanta, ve kterém byl uživatel nalezen. Pro uživatele typu host ve scénářích Microsoft Entra B2B je ID tenanta typu host, nikoli jedinečný tenant. Při doručení tokenu pro uživateleAuthenticationResult
obsahuje také informace o tomto uživateli. V případě důvěrných toků klientů, u kterých jsou tokeny požadovány bez uživatele pro aplikaci, mají tyto informace o uživateli hodnotu null.- Token
Scopes
, pro který byl vydán. - Jedinečné ID uživatele.
IAccount
MSAL.NET definuje pojem účtu prostřednictvím IAccount
rozhraní. Tato změna způsobující chybu poskytuje správnou sémantiku. Stejný uživatel může mít několik účtů v různých adresářích Microsoft Entra. Také MSAL.NET poskytuje lepší informace v případě scénářů hosta, protože jsou k dispozici informace o domovském účtu.
Následující diagram znázorňuje strukturu IAccount
rozhraní.
Třída AccountId
identifikuje účet v konkrétním tenantovi s vlastnostmi zobrazenými v následující tabulce.
Vlastnost | Popis |
---|---|
TenantId |
Řetězcové vyjádření identifikátoru GUID, což je ID tenanta, ve kterém se účet nachází. |
ObjectId |
Řetězcové vyjádření identifikátoru GUID, což je ID uživatele, který vlastní účet v tenantovi. |
Identifier |
Jedinečný identifikátor účtu. Identifier je zřetězení ObjectId čárkou a TenantId oddělené čárkou. Nejsou kódované v base 64. |
Rozhraní IAccount
představuje informace o jednom účtu. Stejný uživatel může být přítomný v různých tenantech, což znamená, že uživatel může mít více účtů. Její členové jsou zobrazeni v následující tabulce.
Vlastnost | Popis |
---|---|
Username |
Řetězec, který obsahuje zobrazenou hodnotu ve formátu UserPrincipalName (UPN), například john.doe@contoso.com. Tento řetězec může mít hodnotu null, na rozdíl od HomeAccountId a HomeAccountId.Identifier, který nebude null. Tato vlastnost nahrazuje DisplayableId vlastnost IUser v předchozích verzích MSAL.NET. |
Environment |
Řetězec, který obsahuje zprostředkovatele identity pro tento účet, login.microsoftonline.com například . Tato vlastnost nahrazuje IdentityProvider vlastnost kromě IdentityProvider cloudového IUser prostředí také informace o tenantovi. V této části je hodnota pouze hostitelem. |
HomeAccountId |
ID účtu domovského účtu uživatele. Tato vlastnost jednoznačně identifikuje uživatele napříč tenanty Microsoft Entra. |
Použití tokenu k volání chráněného rozhraní API
Jakmile AuthenticationResult
msAL result
vrátí, přidejte ji do autorizační hlavičky HTTP před voláním pro přístup k chráněnému webovému rozhraní API.
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
// Call the web API.
HttpResponseMessage response = await _httpClient.GetAsync(apiUri);
...
Další kroky
Přečtěte si další informace o vytvoření jednostránkové aplikace React (SPA), která přihlašuje uživatele v následující vícedílné sérii kurzů.
Prozkoumání ukázek desktopového kódu Microsoft Identity Platform