Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u de Microsoft Authentication Library for JavaScript (MSAL.js) initialiseert met een exemplaar van een toepassing voor een gebruikersagent.
De toepassing voor gebruikersagenten is een vorm van openbare clienttoepassing waarin de clientcode wordt uitgevoerd in een gebruikersagent, zoals een webbrowser. Clients zoals deze slaan geen geheimen op omdat de browsercontext open toegankelijk is.
Zie Openbare en vertrouwelijke client-apps in MSAL voor meer informatie over de typen clienttoepassingen en opties voor toepassingsconfiguraties.
Vereisten
Voordat u een toepassing initialiseert, moet u deze eerst registreren in het Microsoft Entra-beheercentrum om een vertrouwensrelatie tot stand te brengen tussen uw toepassing en het Microsoft Identity Platform.
Nadat u uw app hebt geregistreerd, hebt u enkele of alle volgende waarden nodig die u kunt vinden in het Microsoft Entra-beheercentrum.
Waarde | Vereist | Beschrijving |
---|---|---|
Client-id van toepassing | Vereist | Een GUID die uw toepassing uniek identificeert in het Microsoft Identity-platform. |
Autoriteit | Optioneel | De URL van de id-provider (de instance) en de aanmelddoelgroep voor uw toepassing. Het exemplaar en de doelgroep voor aanmelding vormen de instantie wanneer deze worden samengevoegd. |
Id van directory (tenant) | Optioneel | Geef de directory-id (tenant) op als u een line-of-business-toepassing uitsluitend voor uw organisatie bouwt. Dit wordt ook wel een toepassing met één tenant genoemd. |
Doorverwijs-URI | Optioneel | Als u een web-app bouwt, geeft u redirectUri aan waar de id-provider (het Microsoft Identity-platform) de beveiligingstokens moet retourneren die zijn uitgegeven. |
MSAL.js 2.x-apps initialiseren
Initialiseer de verificatiecontext van de MSAL.js door een PublicClientApplication te instantiëren met een configuratieobject. De minimaal vereiste configuratie-eigenschap is de clientID
toepassing, die wordt weergegeven als toepassings-id (client) op de pagina Overzicht van de app-registratie in het Microsoft Entra-beheercentrum.
Hier volgt een voorbeeld van een configuratieobject en een instantie van een PublicClientApplication
:
const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here",
knownAuthorities: [],
redirectUri: "https://localhost:{port}/redirect",
postLogoutRedirectUri: "https://localhost:{port}/redirect",
navigateToLoginRequestUrl: true,
},
cache: {
cacheLocation: "sessionStorage",
storeAuthStateInCookie: false,
},
system: {
loggerOptions: {
loggerCallback: (
level: LogLevel,
message: string,
containsPii: boolean
): void => {
if (containsPii) {
return;
}
switch (level) {
case LogLevel.Error:
console.error(message);
return;
case LogLevel.Info:
console.info(message);
return;
case LogLevel.Verbose:
console.debug(message);
return;
case LogLevel.Warning:
console.warn(message);
return;
}
},
piiLoggingEnabled: false,
},
windowHashTimeout: 60000,
iframeHashTimeout: 6000,
loadFrameTimeout: 0,
},
};
// Create an instance of PublicClientApplication
const msalInstance = new PublicClientApplication(msalConfig);
// Handle the redirect flows
msalInstance
.handleRedirectPromise()
.then((tokenResponse) => {
// Handle redirect response
})
.catch((error) => {
// Handle redirect error
});
handleRedirectPromise
Roep handleRedirectPromise aan wanneer de toepassing omleidingsstromen gebruikt. Wanneer u omleidingsstromen gebruikt, handleRedirectPromise
moet elke pagina worden geladen.
Er zijn drie resultaten mogelijk van de belofte:
-
.then
wordt aangeroepen entokenResponse
is waar: de toepassing keert terug van een geslaagde redirectie. -
.then
wordt aangeroepen entokenResponse
is onwaar (null
): de toepassing keert niet terug van een omleidingsbewerking. -
.catch
wordt aangeroepen: de toepassing wordt geretourneerd vanuit een bewerking voor omleiding en er is een fout opgetreden.
MSAL.js 1.x-apps initialiseren
Initialiseer de MSAL 1.x-verificatiecontext door een UserAgentApplication te instantiëren met een configuratieobject. De minimaal vereiste configuratie-eigenschap is de clientID
van uw toepassing, weergegeven als toepassings-id (client) op de pagina Overzicht van de app-registratie in het Microsoft Entra-beheercentrum.
Voor verificatiemethoden met omleidingsstromen (loginRedirect en acquireTokenRedirect) in MSAL.js 1.2.x of eerder, moet u expliciet een callback registreren voor succes of fout via de handleRedirectCallback()
methode. Het expliciet registreren van de callback is vereist in MSAL.js 1.2.x en eerder, omdat stromen voor omleiding geen beloftes retourneren zoals de methoden met een pop-upervaring. Het registreren van de callback is optioneel in MSAL.js versie 1.3.x en hoger.
// Configuration object constructed
const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
},
};
// Create UserAgentApplication instance
const msalInstance = new UserAgentApplication(msalConfig);
function authCallback(error, response) {
// Handle redirect response
}
// Register a redirect callback for Success or Error (when using redirect methods)
// **REQUIRED** in MSAL.js 1.2.x and earlier
// **OPTIONAL** in MSAL.js 1.3.x and later
msalInstance.handleRedirectCallback(authCallback);
Enkel exemplaar en configuratie
MSAL.js 1.x en 2.x zijn ontworpen om een enkel exemplaar en een enkele configuratie van respectievelijk UserAgentApplication
of PublicClientApplication
te hebben, waarmee een enkele authenticatiecontext wordt aangeduid.
Meerdere exemplaren van UserAgentApplication
of PublicClientApplication
worden niet aanbevolen omdat ze conflicterende cachevermeldingen en -gedrag in de browser kunnen veroorzaken.
Volgende stappen
Het codevoorbeeld MSAL.js 2.x op GitHub toont de start aan van een PublicClientApplication met een configuratieobject :