Clientanwendungen

Instanziieren einer Anwendung

Voraussetzungen

Bevor Sie Ihre App mit MSAL4J instanziieren:

  1. Grundlegendes zu den verfügbaren Clientanwendungen: Öffentliche Client- und vertrauliche Clientanwendungen.
  2. Sie müssen die Anwendung bei Microsoft Entra ID registrieren. Sie werden daher wissen:
    • Sein clientID (eine Zeichenfolge, die eine GUID darstellt)
    • Die URL des Identitätsanbieters (die Instanz genannt) und die Anmeldegruppe für Ihre Anwendung. Diese beiden Parameter werden gemeinsam als Autorität bezeichnet.
    • TenantID Möglicherweise schreiben Sie eine Branchenanwendung (nur für Ihre Organisation, auch als Einzelmandantenanwendung bezeichnet).
    • Im Fall einer vertraulichen Client-App deren Anwendungsgeheimnis (clientSecret-Zeichenfolge) oder Zertifikat
    • Für Web-Apps haben Sie auch den redirectUri Ort festgelegt, an dem der Identitätsanbieter Ihre Anwendung mit den Sicherheitstoken zurücksendet.

Instanziieren einer öffentlichen Clientanwendung

String PUBLIC_CLIENT_ID;
String AUTHORITY;

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

Eine vertrauliche Clientanwendung erstellen

Sie benötigen entweder einen geheimen Schlüssel oder ein Zertifikat, wie in Den Clientanmeldeinformationen beschrieben.

Wenn Sie über einen geheimen Schlüssel verfügen:

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();

Wenn Sie über ein Zertifikat verfügen:

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();