Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
MSAL.js tillåter att ett promptvärde skickas som en del av metoderna för inloggning eller tokenbegäran. Baserat på ditt programscenario kan du anpassa Microsoft Entra-promptbeteendet för en begäran genom att ange promptparametern i begärandeobjektet:
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
});
Promptvärden som stöds
Följande promptvärden kan användas när du autentiserar med Microsofts identitetsplattform:
| Parameter | Beteende |
|---|---|
login |
Tvingar användaren att ange sina autentiseringsuppgifter för den begäran och negera enkel inloggning. |
none |
Ser till att användaren inte visas med någon interaktiv fråga. Om begäran inte kan slutföras tyst med enkel inloggning returnerar Microsofts identitetsplattform ett login_required - eller interaction_required-fel . |
consent |
Utlöser dialogrutan OAuth-medgivande när användaren har loggat in och ber användaren att bevilja behörigheter till appen. |
select_account |
Avbryter enkel inloggning genom att tillhandahålla en kontovalsupplevelse som visar alla konton i sessionen eller ett alternativ för att välja ett helt annat konto. |
create |
Utlöser en dialogruta för registrering som gör att externa användare kan skapa ett konto. Mer information finns i: Självbetjäningsregistrering |
MSAL.js utlöser ett invalid_prompt fel för eventuella promptvärden som inte stöds:
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
Standardvärden för uppmaning
Följande visar standardvärden för uppmaning som MSAL.js använder:
| MSAL.js-metod | Standardprompt | Tillåtna uppmaningar |
|---|---|---|
loginPopup |
Inte tillgänglig | Vilken som helst |
loginRedirect |
Inte tillgänglig | Vilken som helst |
ssoSilent |
none |
N/A (ignoreras) |
acquireTokenPopup |
Inte tillgänglig | Vilken som helst |
acquireTokenRedirect |
Inte tillgänglig | Vilken som helst |
acquireTokenSilent |
none |
N/A (ignoreras) |
Anmärkning
Observera att prompten är en parameter på protokollnivå och signalerar önskat autentiseringsbeteende till identitetsprovidern. Det påverkar inte MSAL.js beteende och MSAL.js inte har kontroll över hur tjänsten i slutändan hanterar begäran. I de flesta fall försöker Microsoft Entra-ID:t att uppfylla begäran. Om detta inte är möjligt kan det returnera ett felsvar eller helt ignorera det angivna promptvärdet.
Interaktiva begäranden med "prompt=none"
När du behöver göra en tyst begäran använder du vanligtvis en tyst MSAL.js -metod (ssoSilent, acquireTokenSilent) och hanterar eventuella login_required - eller interaction_required-fel med en interaktiv metod (loginPopup, loginRedirect, acquireTokenPopup, acquireTokenRedirect).
I vissa fall kan dock promptvärdet none användas tillsammans med en interaktiv MSAL.js metod för att uppnå tyst autentisering. På grund av cookiebegränsningarna från tredje part i vissa webbläsare ssoSilent misslyckas till exempel begäranden trots en aktiv användarsession med Microsoft Entra-ID. Som en åtgärd kan du skicka promptvärdet none till en interaktiv begäran, till exempel loginPopup. MSAL.js öppnar sedan ett popup-fönster för Microsoft Entra-ID och Microsoft Entra ID respekterar promptvärdet genom att använda den befintliga sessionscookien. I det här fallet ser användaren ett kort popup-fönster, men uppmanas inte att ange autentiseringsuppgifter.