在本文中,你将了解如何在 MSAL Node 中初始化 PublicClientApplication 对象,以及如何配置授权机构。
先决条件
在初始化应用程序之前,首先需要在Microsoft Entra 管理中心中注册它,并在应用程序与Microsoft 标识平台之间建立信任关系。
注册应用后,你将需要可在Microsoft Entra 管理中心中找到的部分或全部以下值。
| 价值 | 必选 | Description |
|---|---|---|
| 应用程序(客户端)ID | 必选 | 用于在 Microsoft 标识平台中唯一标识您的应用程序的 GUID。 |
| 权威 | Optional | 标识提供者 URL( 实例)和应用程序的 登录受众 。 实例和登录受众拼接后构成 authority。 |
| 目录(租户)ID | Optional | 如果你正在构建仅供自己组织使用的业务线应用(通常称为 单租户应用程序),请指定目录(租户)ID。 |
| 重定向 URI | Optional | 如果要构建 Web 应用,redirectUri 会指定标识提供者(Microsoft 标识平台)应将其颁发的安全令牌返回到何处。 |
初始化 PublicClientApplication 对象
若要使用 MSAL Node,需要实例化 PublicClientApplication 对象。 我们支持并强烈建议对于任何公共客户端应用程序使用 PKCE(代码交换证明密钥)。 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必须初始化公共客户端应用程序 -
authorityhttps://login.microsoftonline.com/common/如果用户在配置过程中未设置它,则默认为
有关 配置 的详细信息,请参阅 MSAL 节点中的配置。
配置颁发机构
默认情况下,MSAL 配置为使用 common 租户,该租户用于多租户应用程序以及允许个人帐户(非 B2C)的应用程序。
const msalConfig = {
auth: {
clientId: 'your_client_id',
authority: 'https://login.microsoftonline.com/common/'
}
};
如果你的应用受众是单租户,你必须提供包含你的租户 ID 的机构,如下所示:
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"
}
};