Ügyfélalkalmazások

Alkalmazás létrehozása

Pre-requisites

Mielőtt példányosítaná az alkalmazást az MSAL4J használatával:

  1. Ismerje meg az elérhető ügyfélalkalmazások típusait – nyilvános ügyfél- és bizalmas ügyfélalkalmazások.
  2. Az alkalmazást regisztrálnia kell a Microsoft Entra ID-ban. Ezért a következőt fogja tudni:
    • Az értéke clientID (egy GUID-t reprezentáló karakterlánc)
    • Az identitásszolgáltató URL-címe (a példány neve) és az alkalmazás bejelentkezési célközönsége. Ezt a két paramétert együttesen hatóságnak nevezzük.
    • Esetleg az TenantID esetében, ha üzletági alkalmazást fejleszt (csak a saját szervezete számára, más néven: egybérlős alkalmazás)
    • Bizalmas ügyfélalkalmazás esetén annak alkalmazástitka (clientSecret karakterlánc) vagy tanúsítványa
    • Webalkalmazások esetén azt is meg kell adnia, hogy hol legyen a redirectUri, ahol az identitásszolgáltató a biztonsági tokenekkel visszairányítja az alkalmazásához a kérést.

Nyilvános ügyfélalkalmazás létrehozása

String PUBLIC_CLIENT_ID;
String AUTHORITY;

PublicClientApplication app = 
    PublicClientApplication
        .builder(PUBLIC_CLIENT_ID)
        .authority(AUTHORITY)
        .build();

Bizalmas kliensalkalmazás példányosítása

Titkos kódra vagy tanúsítványra lesz szüksége az ügyfél hitelesítő adataiban leírtak szerint.

Ha van egy titkod:

String PUBLIC_CLIENT_ID;
String AUTHORITY;
String CLIENT_SECRET;

IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = 
    ConfidentialClientApplication
        .builder(PUBLIC_CLIENT_ID, credential)
        .authority(AUTHORITY)
        .build();

Ha rendelkezik tanúsítvánnyal:

String PUBLIC_CLIENT_ID;
String AUTHORITY;
PrivateKey PRIVATE_KEY;  
X509Certificate PUBLIC_KEY;

IClientCredential credential = ClientCredentialFactory.createFromCertificate(PRIVATE_KEY, PUBLIC_KEY);
ConfidentialClientApplication app = 
    ConfidentialClientApplication
        .builder(PUBLIC_CLIENT_ID, credential)
        .authority(AUTHORITY)
        .build();