Log på brugere med Microsoft Authentication Library

Fuldført

Du har registreret dit webprogram med Microsoft Entra-id. Du er nu klar til at tilføje godkendelseskoden for at logge brugere på dit program og vil gerne bruge et SDK, der kan håndtere godkendelsesoplysningerne for dig. I dette undermodul får du mere at vide om Microsoft Authentication Library for Java (MSAL4J), og hvordan det hjælper med godkendelse.

Microsoft Authentication Library til Java

Microsoft Authentication Library til Java (MSAL4J) gør det muligt for programmer at logge på brugere eller apps med Microsoft-identiteter (Microsoft Entra ID, Microsoft-konti og Azure Active Directory B2C-konti) og hente tokens til at kalde Microsoft API'er eller dine egne API'er, der er registreret med Microsoft Entra ID. Det er bygget ved hjælp af branchestandard protokollerne OAuth2 og OpenID Connect.

Biblioteket indeholder praktiske API'er, der aktiverer godkendelse med Microsoft Entra-id for forskellige typer programmer:

  • Webprogrammer
  • Daemon-tjenester
  • Kommandolinjeprogrammer
  • Skrivebordsprogrammer

Initialiser MSAL-objektet

Hvis du vil bruge MSAL, skal du initialisere og konfigurere MSAL-objektet i programkoden.

MSAL repræsenterer klientprogrammer som offentlige klienter og fortrolige klienter, der adskiller sig fra deres evne til at godkende sikkert med godkendelsesserveren og opretholde fortroligheden af deres klientlegitimationsoplysninger.

Fortrolige klient--programmer er apps, der kører på servere (webapps, web-API-apps eller endda tjeneste-/daemonapps). Fortrolige klienter kan indeholde konfigurationstidsprogramhemmeligheder.

Du kan oprette en forekomst af Fortroligt-klienten på følgende måde:

IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = ConfidentialClientApplication
                                        .builder(CLIENT_ID, credential)
                                        .authority(AUTHORITY)
                                        .build();
  • CLIENT_ID: Klient-id'et er det entydige program-id (klient), der blev tildelt din app af Microsoft Entra-id, da appen blev registreret.
  • CLIENT_SECRET: Klienthemmeligheden for den fortrolige klientapp, der blev oprettet ved registrering af appen.
  • AUTHORITY: Autoriteten er en URL-adresse, der angiver en mappe, som MSAL kan anmode om tokens fra. Den består af forekomsten af identitetsudbyderen og logonmålgruppen for appen.

Hent godkendelsestokens med MSAL

MSAL indeholder acquireToken metoder til at starte godkendelsesflowet og returnere en AuthenticationResult, der indeholder godkendelsestokens.

Når en bruger er færdig med at logge på, returneres der et id-token i godkendelsesresultatet, der indeholder nogle grundlæggende godkendelseskrav, f.eks. navn på brugerprincip, mail osv.

Her er et eksempel på hentning af tokens med MSAL:

final AuthorizationCodeParameters authParams = AuthorizationCodeParameters
                                                    .builder(authCode, new URI(Config.REDIRECT_URI)).scopes(Collections.singleton(Config.SCOPES))
                                                    .build();

final IAuthenticationResult result = app.acquireToken(authParams).get();
  • REDIRECT_URI: Omdirigerings-URI'en er den URI, som identitetsudbyderen sender sikkerhedstokens tilbage til. Den skal svare til omdirigerings-URI'en i Microsoft Entra-appregistreringen.
  • SCOPES: Områder er tilladelser, som programmet har anmodet om. Normalt openid profile offline_access de tre områder tilstrækkelige til at modtage et id-tokensvar for et brugerlogon og angives som standard af MSAL.

Brug de acquireToken metoder i dit program, når du starter et logonflow for brugere og kalder API'er for at få adgang til data.