Bureaublad-app die web-API's aanroept: een web-API aanroepen
Nu u een token hebt, kunt u een beveiligde web-API aanroepen.
Een web-API aanroepen
AuthenticationResult-eigenschappen in MSAL.NET
De methoden voor het verkrijgen van tokens retourneren AuthenticationResult
. Voor niet-synchrone methoden wordt Task<AuthenticationResult>
geretourneerd.
In MSAL.NET stelt AuthenticationResult
het volgende beschikbaar:
AccessToken
voor de web-API voor toegang tot bronnen. Deze parameter is een tekenreeks, meestal een met Base64 gecodeerde JWT. De client mag nooit in het toegangstoken kijken. De indeling blijft niet gegarandeerd stabiel en kan worden versleuteld voor de resource. Het schrijven van code die afhankelijk is van de inhoud van het toegangstoken op de client, is een van de grootste bronnen van fouten en onderbrekingen van clientlogica. Zie Toegangstokens voor meer informatie.IdToken
voor de gebruiker. Deze parameter is een gecodeerde JWT. Zie ID-tokens voor meer informatie.ExpiresOn
geeft de datum en tijd aan waarop het token verloopt.TenantId
bevat de tenant waarin de gebruiker is gevonden. Voor gastgebruikers in Microsoft Entra B2B-scenario's is de tenant-id de gasttenant, niet de unieke tenant. Wanneer de token voor een gebruiker wordt geleverd, bevatAuthenticationResult
ook informatie over deze gebruiker. Voor vertrouwelijke clientstromen waarbij tokens worden aangevraagd zonder gebruiker voor de toepassing, is deze gebruikersinformatie null.- De
Scopes
waarvoor de token is uitgegeven. - De unieke id voor de gebruiker.
IAccount
MSAL.NET definieert het begrip van een account via de IAccount
-interface. Deze belangrijke wijziging biedt de juiste semantiek. Dezelfde gebruiker kan verschillende accounts hebben, in verschillende Microsoft Entra-mappen. MSAL.NET biedt ook betere informatie in het geval van gastscenario's, omdat informatie over het homeaccount wordt verstrekt.
Het volgende diagram toont de structuur van de IAccount
-interface.
De klasse AccountId
identificeert een account in een specifieke tenant met de eigenschappen in de volgende tabel.
Eigenschappen | Beschrijving |
---|---|
TenantId |
Een tekenreeksweergave voor een GUID, wat de id is van de tenant waarin het account zich bevindt. |
ObjectId |
Een tekenreeksweergave voor een GUID, wat de id is van de gebruiker die het account in de tenant bezit. |
Identifier |
Unieke id voor het account. Identifier is de samenvoeging van ObjectId en TenantId gescheiden door een komma. Deze zijn niet met Base64 gecodeerd. |
De IAccount
-interface vertegenwoordigt informatie over één account. Dezelfde gebruiker kan aanwezig zijn in verschillende tenants. Dit betekent dat een gebruiker meerdere accounts kan hebben. De leden ervan worden weergegeven in de volgende tabel.
Eigenschappen | Beschrijving |
---|---|
Username |
Een tekenreeks die de weergavewaarde bevat in UPN-indeling (UserPrincipalName), bijvoorbeeld john.doe@contoso.com. Deze tekenreeks kan null zijn, in tegenstelling tot HomeAccountId en HomeAccountId.Identifier, die niet null zijn. Deze eigenschap vervangt de eigenschap DisplayableId van IUser eerdere versies van MSAL.NET. |
Environment |
Een tekenreeks die de id-provider voor dit account bevat, bijvoorbeeld login.microsoftonline.com . Deze eigenschap vervangt de eigenschap IdentityProvider van IUser , behalve dat IdentityProvider ook informatie over de tenant had, naast de cloudomgeving. Hier is de waarde alleen de host. |
HomeAccountId |
De account-id van het homeaccount voor de gebruiker. Deze eigenschap identificeert de gebruiker uniek in Microsoft Entra-tenants. |
Het token gebruiken om een beveiligde API aan te roepen
Nadat AuthenticationResult
is geretourneerd door MSAL in result
, voegt u deze toe aan de HTTP-autorisatieheader voordat u de aanroep uitvoert voor toegang tot de beveiligde web-API.
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
// Call the web API.
HttpResponseMessage response = await _httpClient.GetAsync(apiUri);
...
Volgende stappen
Meer informatie vindt u door een React-toepassing met één pagina (SPA) te bouwen waarmee gebruikers worden aangemeld in de volgende reeks meerdelige zelfstudies.
Voorbeelden van bureaubladcode voor Microsoft Identity Platform verkennen