Přihlášení uživatelů pomocí knihovny Microsoft Authentication Library
Zaregistrovali jste webovou aplikaci s ID Microsoft Entra. Teď jste připraveni přidat ověřovací kód pro přihlášení uživatelů ve vaší aplikaci a chtěli byste použít sadu SDK, která dokáže zpracovat podrobnosti ověřování za vás. V této lekci se dozvíte o knihovně Microsoft Authentication Library for Java (MSAL4J) a o tom, jak pomáhá s ověřováním.
Microsoft Authentication Library pro Javu
Knihovna Microsoft Authentication Library pro Javu (MSAL4J) umožňuje aplikacím přihlašovat uživatele nebo aplikace s identitami Microsoftu (účty Microsoft Entra, účty Microsoft a účty Azure Active Directory B2C) a získávat tokeny pro volání rozhraní Microsoft API nebo vlastních rozhraní API zaregistrovaných v Microsoft Entra ID. Je sestavená pomocí standardních protokolů OAuth2 a OpenID Connect.
Knihovna poskytuje pohodlná rozhraní API, která umožňují ověřování pomocí ID Microsoft Entra pro různé typy aplikací:
- Webové aplikace
- Služby démona
- Aplikace příkazového řádku
- Desktopové aplikace
Inicializace objektu MSAL
Chcete-li začít používat knihovnu MSAL, musíte inicializovat a nakonfigurovat objekt MSAL v kódu aplikace.
MSAL představuje klientské aplikace jako veřejné klienty a důvěrné klienty, odlišené jejich schopností bezpečně ověřovat pomocí autorizačního serveru a udržovat důvěrnost svých přihlašovacích údajů klienta.
Důvěrné klientské aplikace jsou aplikace, které běží na serverech (webové aplikace, aplikace webového rozhraní API nebo dokonce aplikace služby nebo démona). Důvěrné klienty můžou uchovávat tajné kódy aplikací v době konfigurace.
Instanci důvěrného klienta můžete vytvořit následujícím způsobem:
IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = ConfidentialClientApplication
.builder(CLIENT_ID, credential)
.authority(AUTHORITY)
.build();
- CLIENT_ID: ID klienta je jedinečné ID aplikace (klienta) přiřazené vaší aplikaci microsoft Entra ID při registraci aplikace.
- CLIENT_SECRET: Tajný klíč klienta pro důvěrnou klientskou aplikaci vytvořený při registraci aplikace.
- AUTORITA: Autorita je adresa URL, která označuje adresář, ze kterého může knihovna MSAL požadovat tokeny. Skládá se z instance zprostředkovatele identity a cílové skupiny přihlašování pro aplikaci.
Získání ověřovacích tokenů pomocí KNIHOVNY MSAL
MSAL poskytuje acquireToken
metody pro zahájení ověřovacího toku a vrácení AuthenticationResult
obsahující ověřovací tokeny.
Po dokončení přihlášení se uživateli vrátí token ID ve výsledku ověřování obsahující některé základní deklarace identity ověřování, jako je hlavní jméno uživatele, e-mail atd.
Tady je příklad získání tokenů pomocí knihovny 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: Identifikátor URI přesměrování je identifikátor URI, do kterého zprostředkovatel identity odesílá tokeny zabezpečení zpět. Musí odpovídat identifikátoru URI přesměrování v registraci aplikace Microsoft Entra.
-
OBORY: Obory jsou oprávnění, která aplikace požadovala. Za normálních okolností stačí tři obory
openid profile offline_access
pro přijetí odpovědi tokenu ID pro přihlášení uživatele a ve výchozím nastavení se nastaví službou MSAL.
acquireToken
Metody ve vaší aplikaci použijte při inicializování toku přihlašování pro uživatele a volání rozhraní API pro přístup k datům.