Microsoft Entra ID 凭据#
您可以使用这些凭据来验证以下节点:
先决条件#
- 创建一个 Microsoft Entra ID 账户或订阅。
- 如果用户账户由企业 Microsoft Entra 账户管理,管理员账户已为此用户启用"用户可以同意应用代表他们访问公司数据"选项(参见 Microsoft Entra 文档)。
当您创建 Microsoft Azure 账户时,Microsoft 会包含一个 Entra ID 免费计划。
支持的认证方法#
- OAuth2
相关资源#
参考 Microsoft Entra ID 文档了解有关该服务的更多信息。
使用 OAuth2#
n8n 云服务用户注意事项
云服务用户无需提供连接详细信息。选择连接我的账户通过浏览器进行连接。
对于自托管用户,从头配置 OAuth2 有两个主要步骤:
请按照下面每个步骤的详细说明进行。有关 Microsoft OAuth2 Web 流程的更多详细信息,请参考 Microsoft 身份验证和授权基础。
注册应用程序#
向 Microsoft Identity Platform 注册应用程序:
- 打开 Microsoft Application Registration Portal。
- 选择 Register an application。
- 为您的应用输入 Name。
- 在 Supported account types 中,选择 Accounts in any organizational directory (Any Azure AD directory - Multi-tenant) and personal Microsoft accounts (for example, Skype, Xbox)。
- 在 Register an application 中:
- 从您的 n8n 凭据复制 OAuth Callback URL。
- 将其粘贴到 Redirect URI (optional) 字段中。
- 选择 Select a platform > Web。
- 选择 Register 完成应用程序创建。
- 复制 Application (client) ID 并将其作为 Client ID 粘贴到 n8n 中。
参考 Register an application with the Microsoft Identity Platform了解更多信息。
生成客户端密钥#
创建应用程序后,为其生成客户端密钥:
- 在您的 Microsoft 应用程序页面上,在左侧导航中选择 Certificates & secrets。
- 在 Client secrets 中,选择 + New client secret。
- 为您的客户端密钥输入 Description,如
n8n credential。 - 选择 Add。
- 复制 Value 列中的 Secret。
- 将其作为 Client Secret 粘贴到 n8n 中。
- 在 n8n 中选择 Connect my account 完成连接设置。
- 登录您的 Microsoft 账户并允许应用程序访问您的信息。
参考 Microsoft 的 Add credentials了解有关添加客户端密钥的更多信息。
Microsoft Graph API Base URL#
Microsoft Entra ID 凭据扩展了 Microsoft OAuth2 API 凭据,并支持不同的 Microsoft 云环境。根据租户的云环境选择合适的端点:
- Global:用于标准 Microsoft 365 租户(默认)
- US Government:用于 Azure US Government(GCC)租户
- US Government DOD:用于 Azure US Government Department of Defense 租户
- China:用于由 21Vianet 在中国运营的 Microsoft 365
政府云授权 URL
如果您使用政府云租户,可能还需要更新凭据中的 Authorization URL 授权 URL 和 Access Token URL 访问令牌 URL 字段,以使用政府云端点。例如:
- US Government:使用 https://login.microsoftonline.us/{tenant}/oauth2/v2.0/authorize 和 https://login.microsoftonline.us/{tenant}/oauth2/v2.0/token
- 将 {tenant} 替换为您的租户 ID,或在多租户应用中使用 common
设置自定义范围#
Microsoft Entra ID 凭据默认使用以下范围:
openidoffline_accessAccessReview.ReadWrite.AllDirectory.ReadWrite.AllNetworkAccessPolicy.ReadWrite.AllDelegatedAdminRelationship.ReadWrite.AllEntitlementManagement.ReadWrite.AllUser.ReadWrite.AllDirectory.AccessAsUser.AllSites.FullControl.AllGroupMember.ReadWrite.All
要为您的凭据选择不同的范围,请启用 Custom Scopes 自定义范围滑块并编辑 Enabled Scopes 启用的范围列表。请记住,使用更严格的范围可能会导致某些功能无法按预期工作。
组织级 Microsoft 集成的委托访问#
本节介绍 n8n 管理员如何注册一个具有委托权限的 Entra ID 应用,一次性授予管理员同意,然后预配置 n8n,使组织中的其他用户无需完成自己的 OAuth 应用注册即可连接 Microsoft 服务(Outlook、Teams、OneDrive 等)。
注册应用#
-
在 Microsoft Entra 管理中心,进入 App registrations 应用注册 并选择 + New registration 新注册。
Note
在 App registrations 应用注册 下注册,而不是 Enterprise applications 企业应用程序。
-
为应用输入一个有意义的 Name 名称,例如
n8n Outlook。 - 在 Supported account types 支持的账户类型 下,选择 Multiple Entra ID tenants 多个 Entra ID 租户。
- 在 Allow only certain tenants (Preview) 仅允许特定租户(预览) 下,选择 Manage allowed tenants 管理允许的租户 并添加你的租户。添加租户后红色横幅会消失。
- 暂时将 Redirect URI 重定向 URI 留空,然后选择 Register 注册。
- 在应用概览页面,复制 Application (client) ID 应用程序(客户端)ID。稍后需要用到。
生成客户端密钥#
- 在应用概览页面,点击 Client credentials 客户端凭据 下的 Add a certificate or secret 添加证书或密钥。
- 选择 + New client secret 新客户端密钥。
- 输入 Description 描述(例如
n8n token),并选择与组织凭据策略匹配的过期时间。 - 选择 Add 添加。
-
立即复制 Value 值。
Warning
密钥值仅显示一次。请在离开页面前复制,否则之后将无法再次获取。
配置 API 权限#
- 在左侧导航中,点击 API permissions API 权限。
- 点击 + Add a permission 添加权限 > Microsoft Graph > Delegated permissions 委托权限。
- 在 Select permissions 选择权限 框中,搜索每个所需的范围并勾选。对你要启用的所有集成所需的范围重复此操作。有关完整列表,请参阅下方按集成所需的范围。
- 选择 Add permissions 添加权限。
添加重定向 URI#
- 在 n8n 中,创建一个包含你要配置的 Microsoft 集成节点的工作流(例如 Microsoft Outlook)。
- 打开节点并选择 Set up credential 设置凭据 > Create new credential 创建新凭据。
- 为凭据输入一个有意义的名称(例如
[email protected])。 - 复制 n8n 凭据面板中显示的 OAuth Redirect URL。
- 返回 Entra,进入应用概览页面并点击 Redirect URIs 重定向 URI 下的 Add a redirect URI 添加重定向 URI。
- 选择 + Add redirect URI 添加重定向 URI,选择 Web,粘贴从 n8n 复制的 URL,然后选择 Configure 配置。
在 n8n 中授予管理员同意#
- 在 n8n 中,将之前复制的 Client ID 和 Client Secret 粘贴到凭据面板中。
- 选择 Connect to [service] 连接到 [服务](例如 Connect to Microsoft Outlook 连接到 Microsoft Outlook)。
-
在登录弹出窗口中,勾选 Consent on behalf of your organization 代表你的组织同意,然后选择 Accept 接受。
Warning
你必须以管理员身份登录才能授予组织级同意。非管理员账户将看到一条消息,提示需要管理员审批。
-
n8n 中的成功横幅确认连接正常工作且同意已正确授予。
为用户预配置凭据#
Once admin consent is granted, use credential overwrites to pre-configure the Client ID and Client Secret so users in your organisation can connect without their own app registration. Refer to the Microsoft OAuth credential overwrites configuration guide for Docker and Kubernetes setup instructions.
按集成所需的范围#
以下是截至 2026 年 3 月每个 Microsoft 集成所需的范围。在 Entra 中配置 API 权限时,请为你计划启用的每个集成添加相应范围。
| 集成 | 所需范围 |
|---|---|
| Microsoft Dynamics | openid、offline_access |
| Microsoft Entra ID | openid、offline_access、AccessReview.ReadWrite.All、Directory.ReadWrite.All、NetworkAccessPolicy.ReadWrite.All、DelegatedAdminRelationship.ReadWrite.All、EntitlementManagement.ReadWrite.All、User.ReadWrite.All、Directory.AccessAsUser.All、Sites.FullControl.All、GroupMember.ReadWrite.All |
| Microsoft Excel | openid、offline_access、Files.ReadWrite |
| Microsoft Graph Security | SecurityEvents.ReadWrite.All、offline_access |
| Microsoft OneDrive | openid、offline_access、Files.ReadWrite.All |
| Microsoft Outlook | openid、offline_access、Contacts.Read、Contacts.ReadWrite、Calendars.Read、Calendars.Read.Shared、Calendars.ReadWrite、Mail.ReadWrite、Mail.ReadWrite.Shared、Mail.Send、Mail.Send.Shared、MailboxSettings.Read |
| Microsoft SharePoint | openid、offline_access |
| Microsoft Teams | openid、offline_access、User.Read.All、Group.ReadWrite.All、Chat.ReadWrite、ChannelMessage.Read.All |
| Microsoft To Do | openid、offline_access、Tasks.ReadWrite |
| 触发器的额外权限 | Chat.Read.All、Team.ReadBasic.All、Subscription.Read.All |
常见问题#
以下是 Microsoft Entra 凭据的已知常见错误和问题。
需要管理员批准#
在尝试为 Microsoft365 或 Microsoft Entra 账户添加凭据时,用户在执行程序时可能会看到此操作需要管理员批准的消息。
当尝试为凭据授予权限的账户由 Microsoft Entra 管理时,将出现此消息。为了颁发凭据,管理员账户需要为该应用程序向用户(或"租户")授予权限。
此程序在 Microsoft Entra 文档中有详细说明。
委托访问设置期间需要管理员审批#
如果用户看到提示需要管理员审批的界面,说明该应用注册尚未获得组织级同意。
要解决此问题,请使用 Entra ID 管理员账户完成上方的在 n8n 中授予管理员同意步骤。
或者,管理员可以直接在 Entra 中授予同意,无需通过 n8n,导航到:
Enterprise applications 企业应用程序 > [你的应用] > Security 安全 > Permissions 权限 > Grant admin consent for [your organisation] 为[你的组织]授予管理员同意
同意授予后,普通用户可以进行身份验证,不会再遇到管理员审批提示。