Megosztás a következőn keresztül:


Az MSAL.js parancssori viselkedése

Az MSAL.js lehetővé teszi a parancssori érték átadását a bejelentkezési vagy jogkivonat-kérési metódusok részeként. Az alkalmazásforgatókönyv alapján testre szabhatja a Microsoft Entra kérési viselkedését a kérés objektumában található parancssori paraméter beállításával:

import { PublicClientApplication } from "@azure/msal-browser";

const pca = new PublicClientApplication({
    auth: {
        clientId: "YOUR_CLIENT_ID"
    }
});

const loginRequest = {
    scopes: ["user.read"],
    prompt: 'select_account',
}

pca.loginPopup(loginRequest)
    .then(response => {
        // do something with the response
    })
    .catch(error => {
        // handle errors
    });

Támogatott parancssori értékek

A következő parancssori értékek használhatók a Microsoft Identitásplatform hitelesítéséhez:

Paraméter Működés
login Kényszeríti a felhasználót, hogy adja meg a hitelesítő adatait a kéréshez, és ne kapcsolja be az egyszeri bejelentkezést.
none Biztosítja, hogy a felhasználó ne jelenjen meg interaktív üzenettel. Ha a kérés nem hajtható végre csendben egyszeri bejelentkezéssel, a Microsoft Identitásplatform login_required vagy interaction_required hibát ad vissza.
consent Aktiválja az OAuth hozzájárulási párbeszédpanelt, miután a felhasználó bejelentkezett, és megkéri a felhasználót, hogy adjon engedélyeket az alkalmazásnak.
select_account Megszakítja az egyszeri bejelentkezést egy fiókválasztási felület biztosításával, amely felsorolja a munkamenet összes fiókját, vagy egy másik fiók kiválasztásának lehetőségét.
create Aktivál egy regisztrációs párbeszédpanelt, amely lehetővé teszi a külső felhasználók számára, hogy fiókot hozzanak létre. További információ: Önkiszolgáló regisztráció

Az MSAL.js hibát jelez invalid_prompt a nem támogatott parancssori értékek esetében:

invalid_prompt_value: Supported prompt values are 'login', 'select_account', 'consent', 'create' and 'none'. Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest Given value: my_custom_prompt

Alapértelmezett parancssori értékek

Az alábbiakban az MSAL.js által használt alapértelmezett parancssori értékek láthatók:

MSAL.js metódus Alapértelmezett üzenet Engedélyezett kérések
loginPopup N/A Any
loginRedirect N/A Any
ssoSilent none N/A (figyelmen kívül hagyva)
acquireTokenPopup N/A Any
acquireTokenRedirect N/A Any
acquireTokenSilent none N/A (figyelmen kívül hagyva)

Megjegyzés:

Vegye figyelembe, hogy a parancssor egy protokollszintű paraméter, és a kívánt hitelesítési viselkedést jelzi az identitásszolgáltatónak. Ez nem befolyásolja az MSAL.js viselkedését, és az MSAL.js nem szabályozza, hogy a szolgáltatás végül hogyan fogja kezelni a kérést. A legtöbb esetben a Microsoft Entra ID megpróbálja tiszteletben tartani a kérést. Ha ez nem lehetséges, hibaválaszt adhat vissza, vagy teljesen figyelmen kívül hagyhatja a megadott parancssori értéket.

Interaktív kérések a prompt=none használatával

Ha csendes kérést kell intéznie, használjon csendes MSAL.js metódust (ssoSilent, acquireTokenSilent), és interaktív módszerrelloginPopup (, loginRedirect, acquireTokenPopup, acquireTokenRedirect) kezelje a login_required vagy interaction_required hibákat.

Bizonyos esetekben azonban a parancssori érték none egy interaktív MSAL.js metódussal együtt használható a csendes hitelesítés eléréséhez. Egyes böngészőkben például a harmadik féltől származó cookie-korlátozások miatt a kérések sikertelenek lesznek annak ellenére, ssoSilent hogy aktív felhasználói munkamenet van a Microsoft Entra-azonosítóval. Megoldásként a parancssori értéket none átadhatja egy interaktív kérésnek, például loginPopup. Az MSAL.js ezután megnyit egy előugró ablakot a Microsoft Entra ID számára, és a Microsoft Entra ID a meglévő munkamenet-cookie használatával tiszteletben tartja a parancssori értéket. Ebben az esetben a felhasználó megjelenik egy rövid előugró ablak, de a rendszer nem kéri a hitelesítő adatok megadását.

További lépések