Webes API-kat hívó asztali alkalmazás: Webes API meghívása
Most, hogy rendelkezik egy jogkivonattal, meghívhat egy védett webes API-t.
Webes API-hívás
AuthenticationResult tulajdonságok a MSAL.NET
A jogkivonatok beszerzésének módszerei adnak vissza AuthenticationResult
. Aszinkron metódusok Task<AuthenticationResult>
esetén a visszatérési érték.
A MSAL.NET AuthenticationResult
a következőt teszi elérhetővé:
AccessToken
a webes API számára az erőforrások eléréséhez. Ez a paraméter egy sztring, általában egy Base-64 kódolású JWT. Az ügyfélnek soha nem szabad belenéznie a hozzáférési jogkivonatba. A formátum nem garantáltan stabil marad, és titkosítható az erőforrás számára. Az ügyfél hozzáférési jogkivonat-tartalmától függő kód írása az egyik legnagyobb hibaforrás és ügyféllogika-törés. További információ: Access-jogkivonatok.IdToken
a felhasználó számára. Ez a paraméter egy kódolt JWT. További információ: azonosító jogkivonatok.ExpiresOn
a jogkivonat lejáratának dátumát és időpontját jelzi.TenantId
tartalmazza azt a bérlőt, amelyben a felhasználó megtalálható. A Microsoft Entra B2B-forgatókönyvekben a vendégfelhasználók esetében a bérlőazonosító nem az egyedi bérlő, hanem a vendégbérlelő. Amikor a jogkivonatot egy felhasználónak kézbesíti,AuthenticationResult
a felhasználóról is tartalmaz információkat. Az olyan bizalmas ügyfélfolyamatok esetében, amelyeknél a jogkivonatokat az alkalmazás felhasználója nélkül kérik le, ez a felhasználói információ null értékű.- Az
Scopes
a jogkivonat, amelyhez a jogkivonatot kiadták. - A felhasználó egyedi azonosítója.
IAccount
MSAL.NET határozza meg a fiók fogalmát a IAccount
felületen keresztül. Ez a kompatibilitástörő változás biztosítja a megfelelő szemantikát. Ugyanaz a felhasználó több fiókkal is rendelkezhet, különböző Microsoft Entra-címtárakban. Emellett a MSAL.NET a vendégforgatókönyvek esetében is jobb információkat nyújt, mivel az otthoni fiók adatai meg lesznek adva.
Az alábbi ábra a felület szerkezetét IAccount
mutatja be.
Az AccountId
osztály azonosít egy fiókot egy adott bérlőben az alábbi táblázatban látható tulajdonságokkal.
Tulajdonság | Leírás |
---|---|
TenantId |
A GUID sztring-ábrázolása, amely annak a bérlőnek az azonosítója, ahol a fiók található. |
ObjectId |
A GUID sztring-ábrázolása, amely annak a felhasználónak az azonosítója, aki a bérlőben lévő fiókot birtokolja. |
Identifier |
A fiók egyedi azonosítója. Identifier vesszővel elválasztott összefűzés ObjectId TenantId . Ezek nem base 64 kódolású. |
Az IAccount
interfész egyetlen fiók adatait jeleníti meg. Ugyanaz a felhasználó különböző bérlőkben is jelen lehet, ami azt jelenti, hogy egy felhasználó több fiókkal is rendelkezhet. A tagok az alábbi táblázatban láthatók.
Tulajdonság | Leírás |
---|---|
Username |
Olyan sztring, amely a megjeleníthető értéket tartalmazza UserPrincipalName (UPN) formátumban, például john.doe@contoso.com. Ez a sztring null értékű lehet, ellentétben a HomeAccountId és a HomeAccountId.Identifier értékkel, amely nem lesz null. Ez a tulajdonság a DisplayableId MSAL.NET korábbi verzióinak tulajdonságát IUser váltja fel. |
Environment |
Egy sztring, amely a fiók identitásszolgáltatója, például login.microsoftonline.com . Ez a tulajdonság a felhőkörnyezeten kívül a IdentityProvider IUser IdentityProvider bérlőre vonatkozó információkat is lecseréli. Itt az érték csak a gazdagép. |
HomeAccountId |
A felhasználó otthoni fiókjának fiókazonosítója. Ez a tulajdonság egyedileg azonosítja a felhasználót a Microsoft Entra-bérlők között. |
Védett API meghívása a jogkivonat használatával
Miután AuthenticationResult
az MSAL result
visszaadta a címet, adja hozzá a HTTP-engedélyezési fejléchez, mielőtt meghívja a védett webes API eléréséhez.
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
// Call the web API.
HttpResponseMessage response = await _httpClient.GetAsync(apiUri);
...
Következő lépések
További információ egy React egyoldalas alkalmazás (SPA) létrehozásával, amely bejelentkezik a felhasználókba az alábbi többrészes oktatóanyag-sorozatban.
Microsoft Identitásplatform asztali kódminták felfedezése
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: