Клиентские приложения

Создайте экземпляр приложения

Pre-requisites

Перед созданием экземпляра приложения с помощью MSAL4J:

  1. Сведения о типах доступных клиентских приложений— общедоступных клиентских и конфиденциальных клиентских приложений.
  2. Вам потребуется зарегистрировать приложение с помощью Microsoft Entra ID. Поэтому вы узнаете:
    • Его значение clientID (строка, представляющая собой GUID)
    • URL-адрес поставщика удостоверений (называемый экземпляром) и аудитория для входа для вашего приложения. Эти два параметра в совокупности называются авторитетной частью.
    • Возможно, TenantID в случае, если вы пишете бизнес-приложение только для вашей организации (также называемое одноклиентским приложением)
    • Если это конфиденциальное клиентское приложение, его секрет приложения (clientSecret строка) или сертификат
    • Для веб-приложений вам также потребуется указать redirectUri, куда поставщик удостоверений будет отправлять обратно в ваше приложение токены безопасности.

Создайте экземпляр общедоступного клиентского приложения

String PUBLIC_CLIENT_ID;
String AUTHORITY;

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

Создайте экземпляр конфиденциального клиентского приложения

Вам потребуется секрет или сертификат, как описано в разделе "Учетные данные клиента".

Если у вас есть секрет:

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

Если у вас есть сертификат:

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