站长百科本教程主要介绍有关将SAML SSO(单点登录)与n8n结合使用的相关指南。教程包括设置SAML、故障排除和使用SAML管理用户等。
一、SAML是什么
教程开始之前先来了解下SAML的概念。SAML是用于描述安全断言标记语言的首字母缩写词。它在在线安全中的主要作用是让用户能够使用一组登录凭据访问多个Web应用程序。SAML的工作原理是在两方(通常是身份提供商 (idP) 和Web应用程序)之间以特定格式传递身份验证信息。
SAML是用于身份验证的开放标准。基于可扩展标记语言 (XML) 格式,Web应用程序使用SAML在身份提供商 (IdP) 和服务提供商 (SP) 两方之间传输身份验证数据。
技术行业创建了SAML来简化身份验证过程,用户需要跨域访问多个独立的Web应用程序。在SAML之前,单点登录 (SSO) 是可以实现的,但依赖于仅在同一域中可行的Cookie。它通过使用身份提供商集中用户身份验证来实现此目标。然后Web应用程序可以通过身份提供商利用 SAML 向其用户授予访问权限。
这种SAML身份验证方法让用户不需要记住多个用户名和密码,还使服务提供商受益,因为它提高了自己平台的安全性,主要是通过避免存储(通常是弱和不安全的)密码的需要,并且不必解决忘记密码的问题。
为什么要用SAML?
- 对用户:告别多套账号密码,登录更方便;
- 对企业:无需存储用户密码,减少数据泄露风险,还能统一管理员工访问权限。
二、n8n中SAML设置步骤
适用版本:n8n Enterprise 0.225.0及以上,需使用实例所有者账号操作。
1、启用SAML前的准备
进入n8n的设置 > SSO 页面;
购买方案并记下重定向URL和实体ID(后续配置IdP时需要);
若IdP支持导入元数据,可点击“实体ID URL”保存XML文件;
如果n8n部署在负载均衡器后,需确认已配置 N8N_EDITOR_BASE_URL。
2、在IdP中配置SAML
以常见IdP为例,核心步骤包括:
创建应用:在IdP中新建一个用于n8n的SAML应用(如Okta中选择“SAML 2.0”);
映射用户属性:将IdP中的用户信息(邮箱、姓名等)映射到n8n需要的格式;
获取元数据:配置完成后,从IdP导出元数据XML(或复制元数据URL)。
3、在n8n中完成配置
回到n8n的SSO设置页面,将IdP的元数据XML粘贴到“身份提供商设置”中(或输入元数据URL);
- 点击保存设置,再点击测试设置验证是否正常;
- 测试成功后,将SAML 2.0状态切换为已激活。
三、Okta Workforce Identity配置示例
以企业常用的Okta为例,手把手教您设置:
前提条件
- 拥有Okta Workforce Identity账号;
- 已获取n8n的重定向URL和实体ID。
具体步骤
1、创建n8n应用:
登录Okta管理面板,进入 应用程序 > 创建应用集成,选择“SAML 2.0”;
填写应用名称(如“n8n”),点击“下一步”。
2、配置SAML参数:
- 单点登录URL:填入n8n的重定向URL;
- 受众URI(SP实体ID):填入n8n的实体ID;
- 名称ID格式:选择“EmailAddress”;
属性映射:按以下示例配置(确保n8n能获取用户信息):
- 邮箱:映射到“user.email”;
- 名字:映射到“user.firstName”;
- 姓氏:映射到“user.lastName”。
3、分配用户并获取元数据:
- 在Okta中把n8n应用分配给指定员工;
- 进入应用的“Sign On”选项卡,复制Metadata URL,打开后复制XML内容;
- 将XML粘贴到n8n的“身份提供商设置”中,保存并测试。
四、常见问题排查
如果测试SAML时遇到错误,试试以下检查:
1、确认IdP支持SAML:部分平台可能未启用该功能;
2、检查URL和实体ID:确保IdP中填写的n8n重定向URL和实体ID准确无误;
3、元数据格式:复制到n8n的XML是否完整,有无语法错误(如标签缺失)。
五、SAML用户管理技巧
1、允许用户跳过SAML登录
如果需要个别用户使用传统账号密码登录:
- 进入n8n的 设置 > 用户;
- 找到对应用户,点击菜单图标,选择“允许手动登录”。
2、删除用户注意事项
若在IdP中删除用户,他们仍可能保留n8n访问权限,需额外在n8n中手动删除(路径:设置 > 用户 > 删除)。






