客户端应用程序

实例化应用程序

先决条件

在使用 MSAL4J 实例化你的应用之前:

  1. 了解可用的客户端应用程序类型- 公共客户端和机密客户端应用程序
  2. 您需要在 Microsoft Entra ID 中注册该应用程序。 因此,你将知道:
    • 它的 clientID(表示 GUID 的字符串)
    • 标识提供者 URL(称为“实例”)和应用程序的登录受众。 这两个参数统称为机构。
    • 如果你正在编写业务线应用程序(仅适用于你的组织,也称为单租户应用程序),可能还有 TenantID
    • 如果该应用属于机密客户端应用程序,则使用其应用程序密码(clientSecret 字符串)或证书
    • 对于 Web 应用,你还需要设置 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();