Gebruikers aanmelden met Microsoft Authentication Library
U hebt uw webtoepassing geregistreerd bij Microsoft Entra ID. U bent nu klaar om de verificatiecode toe te voegen om gebruikers aan te melden in uw toepassing en wilt een SDK gebruiken die de verificatiegegevens voor u kan verwerken. In deze les leert u meer over de Microsoft Authentication Library for Java (MSAL4J) en hoe dit helpt bij verificatie.
Microsoft Authentication Library voor Java
Met de Microsoft Authentication Library for Java (MSAL4J) kunnen toepassingen zich aanmelden bij gebruikers of apps met Microsoft-identiteiten (Microsoft Entra ID, Microsoft-accounts en Azure Active Directory B2C-accounts) en tokens verkrijgen om Microsoft-API's of uw eigen API's aan te roepen die zijn geregistreerd bij Microsoft Entra ID. Het is gebouwd met behulp van industriestandaard OAuth2- en OpenID Connect-protocollen.
De bibliotheek biedt handige API's die verificatie met Microsoft Entra ID inschakelen voor verschillende soorten toepassingen:
- Webtoepassingen
- Daemon-services
- Opdrachtregeltoepassingen
- Desktop-apps
Het MSAL-object initialiseren
Als u MSAL wilt gaan gebruiken, moet u het MSAL-object initialiseren en configureren in uw toepassingscode.
MSAL vertegenwoordigt clienttoepassingen als openbare clients en vertrouwelijke clients, die worden onderscheiden door hun vermogen om veilig te verifiëren met de autorisatieserver en de vertrouwelijkheid van hun clientreferenties te behouden.
Vertrouwelijke clienttoepassingen zijn apps die worden uitgevoerd op servers (web-apps, web-API-apps of zelfs service-/daemon-apps). Vertrouwelijke clients kunnen configuratietijd van toepassingsgeheimen bevatten.
U kunt als volgt een exemplaar van de vertrouwelijke client maken:
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = ConfidentialClientApplication
.builder(CLIENT_ID, credential)
.authority(AUTHORITY)
.build();
- CLIENT_ID: De client-id is de unieke toepassings-id (client-id) die is toegewezen aan uw app door Microsoft Entra ID toen de app werd geregistreerd.
- CLIENT_SECRET: het clientgeheim voor de vertrouwelijke client-app, gemaakt bij het registreren van de app.
- INSTANTIE: De instantie is een URL die een map aangeeft waaruit MSAL tokens kan aanvragen. Deze bestaat uit het exemplaar van de id-provider en de aanmeldingsdoelgroep voor de app.
Verificatietokens verkrijgen met MSAL
MSAL biedt acquireToken methoden om de verificatiestroom te initiëren en een AuthenticationResult met de verificatietokens te retourneren.
Wanneer een gebruiker zich heeft aangemeld, wordt een id-token geretourneerd in het verificatieresultaat met enkele basisverificatieclaims, zoals de naam van het gebruikersprincipe, e-mail enzovoort.
Hier volgt een voorbeeld van het verkrijgen van tokens met 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: de omleidings-URI is de URI waarnaar de id-provider de beveiligingstokens terugstuurt. Deze moet overeenkomen met de omleidings-URI in de registratie van de Microsoft Entra-app.
-
BEREIKEN: Bereiken zijn machtigingen die de aangevraagde toepassing heeft. Normaal gesproken zijn de drie bereiken
openid profile offline_accessvoldoende voor het ontvangen van een id-tokenantwoord voor een gebruiker die zich aanmeldt en standaard worden ingesteld door MSAL.
Gebruik de methoden in uw toepassing bij het acquireToken initiëren van een aanmeldingsstroom voor gebruikers en het aanroepen van API's voor toegang tot gegevens.