Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Model Context Protocol (MCP) egy nyílt szabvány, amely lehetővé teszi, hogy az AI-alkalmazások biztonságosan csatlakozzanak külső eszközökhöz, adatforrásokhoz és szolgáltatásokhoz. Az MSAL Browser támogatja az MCP-folyamatokat azáltal, hogy kényszeríti, hogy minden jogkivonat-kérés tartalmazzon egy paramétert resource , és gyorsítótárazzon az erőforrás által kulcsolt hozzáférési jogkivonatokat.
Note
Az MCP-folyamatok mind a standard böngészőalkalmazások, PublicClientApplication mind a beágyazott alkalmazáshitelesítési (NAA) alkalmazások esetében createNestablePublicClientApplicationtámogatottak.
A kiszolgálóoldali implementációkról lásd az MSAL Node MCP-folyamatait.
Prerequisites
- Alkalmazás regisztrálása a Microsoft identitásplatformon
-
@azure/msal-browsera projektben telepített v5-ös vagy újabb verzió
Az MCP engedélyezése
Állítsa be a(z) auth konfigurációban a(z) isMcp: true elemet a(z) PublicClientApplication létrehozásakor:
const msalConfig = {
auth: {
clientId: "your-client-id",
authority: "https://login.microsoftonline.com/common",
isMcp: true,
},
};
const pca = new msal.PublicClientApplication(msalConfig);
NAA-alkalmazások esetén használja ugyanazt a konfigurációt a következőkkel createNestablePublicClientApplication:
const pca = await msal.createNestablePublicClientApplication(msalConfig);
Erőforrásparaméter
Ha a(z) isMcp be van állítva true, minden tokenkérésnek tartalmaznia kell egy resource paramétert. A kihagyás hibát jelez resource_parameter_required .
const tokenRequest = {
scopes: ["User.Read"],
resource: "https://example.microsoft.com",
};
Important
Állítsa be a resource paramétert közvetlenül a kérelemobjektumon. Ne adja át a(z) extraQueryParameters vagy extraParameters elemen keresztül a(z) resource tulajdonsággal egy időben — ez misplaced_resource_parameter hibát eredményez.
Az alábbi példa a paraméter beállításának helyes és helytelen módjait resource mutatja be:
// Correct
const request = {
scopes: ["User.Read"],
resource: "https://example.microsoft.com",
};
// Wrong — resource in both locations
const request = {
scopes: ["User.Read"],
resource: "https://example.microsoft.com",
extraQueryParameters: { resource: "https://example.microsoft.com" },
};
Erőforrásonkénti gyorsítótárazás
isMcp engedélyezése esetén a hozzáférési tokenek a hozzájuk társított erőforrással együtt gyorsítótárba kerülnek. Ez a viselkedés befolyásolja a csendes jogkivonatok beszerzését:
- Gyorsítótár-találat: Ha egy gyorsítótárazott hozzáférési jogkivonat létezik ugyanahhoz a hatókörhöz és erőforráshoz, a gyorsítótárból kapja vissza.
- Gyorsítótár-hiba: Ha a kért erőforrás nem egyezik a gyorsítótárazott jogkivonattal, az MSAL visszaesik a hálózatra, hogy új jogkivonatot szerezzen be a kért erőforráshoz.
// First request — acquires token from network
const token1 = await pca.acquireTokenSilent({
scopes: ["User.Read"],
resource: "https://resource-a.microsoft.com",
account: account,
});
// Same resource — returns cached token
const token2 = await pca.acquireTokenSilent({
scopes: ["User.Read"],
resource: "https://resource-a.microsoft.com",
account: account,
});
// Different resource — falls back to network
const token3 = await pca.acquireTokenSilent({
scopes: ["User.Read"],
resource: "https://resource-b.microsoft.com",
account: account,
});
Hibakezelés
Két hiba jellemző az MCP-folyamatokra:
| Hibakód | Description |
|---|---|
resource_parameter_required |
A(z) isMcp értéke true, de a kérés nem tartalmaz resource paramétert. |
misplaced_resource_parameter |
resource található mind a(z) resource tulajdonságban, mind a(z) extraQueryParameters vagy extraParameters elemben. Csak egyet használjon. |
Mindkét hiba ClientAuthError formában dobódik. További információkért tekintse meg a hibák dokumentációját.