在本文中,你將學習如何在 MSAL Node 中初始化物件 PublicClientApplication ,以及如何設定權限。
先決條件
在初始化應用程式之前,首先需要在 Microsoft Entra 系統管理中心 註冊它,建立應用程式與 Microsoft 身分識別平台 之間的信任關係。
註冊應用程式後,您需要在 Microsoft Entra 系統管理中心 中找到部分或全部以下數值。
| 價值 | 必要 | Description |
|---|---|---|
| 應用程式 (用戶端) 識別碼 | 必要 | 一個能在 Microsoft 身分識別平台 中唯一識別你的應用程式的 GUID。 |
| 權威 | Optional | 身份提供者的網址( 實例)以及你的應用程式的 登入受眾 。 執行個體與登入對象串接後,即構成 authority。 |
| 目錄(租戶)識別碼 | Optional | 如果您正在為僅供組織內部使用而建置企業營運應用程式(通常稱為 單一租用戶應用程式),請指定目錄(租用戶)ID。 |
| 重新導向 URI | Optional | 如果您正在建置 Web 應用程式,redirectUri 會指定身分識別提供者(Microsoft 身分識別平台)應將其所簽發的安全性權杖傳回到何處。 |
初始化 PublicClientApplication 物件
要使用 MSAL Node,你需要實例化一個 PublicClientApplication 物件。 我們支持並強烈建議在任何 PublicClientApplication 使用 PKCE(Code Exchange 證明金鑰)。 使用模式在 PKCE 範例中有所展示。
import * as msal from "@azure/msal-node";
const clientConfig = {
auth: {
clientId: "your_client_id",
authority: "your_authority",
}
};
const pca = new msal.PublicClientApplication(clientConfig);
配置基礎
節點的設定選項具有common參數,而每個驗證流程各有specific參數。
-
client_id是初始化公用用戶端應用程式的必要條件 - 如果使用者在設定時未指定,
authority預設為https://login.microsoftonline.com/common/
關於 更多配置 選項,請參考 MSAL 節點中的配置。
設定權威
預設情況下,MSAL 已設定為使用 common 租用戶,此租用戶適用於多租用戶應用程式,以及允許個人帳戶的應用程式(不含 B2C)。
const msalConfig = {
auth: {
clientId: 'your_client_id',
authority: 'https://login.microsoftonline.com/common/'
}
};
如果您的應用程式受眾為單一租戶,您必須提供如下的租戶識別權限:
const msalConfig = {
auth: {
clientId: 'your_client_id',
authority: 'https://login.microsoftonline.com/{your_tenant_id}'
}
};
如果您的應用程式使用的是獨立且符合 OIDC 的授權單位,例如 "https://login.live.com" 或 IdentityServer,則您需要在 knownAuthorities 欄位中提供該授權單位,並將 protocolMode 設為 "OIDC"。
const msalConfig = {
auth: {
clientId: 'your_client_id',
authority: 'https://login.live.com',
knownAuthorities: ["login.live.com"],
protocolMode: "OIDC"
}
};