跳到主要内容

设置 Okta Workforce Identity SAML

使用 Okta 在 n8n 中设置 SAML SSO。

信息

Workforce Identity 与 Customer Identity

本指南介绍如何设置 Workforce Identity,即原有的 Okta 产品。Customer Identity 是 Okta 对其收购的 Auth0 产品所使用的名称。

前提条件 ​

你需要 Okta Workforce Identity 账号,以及 n8n SAML 设置中的重定向 URL 和实体 ID。

根据你的 Okta 配置,Okta Workforce 可能会要求用户使用双因素身份验证。

请先阅读设置 SAML指南。

设置 ​

除以下说明外,这份图文分步指南也展示了如何使用 Okta 在 n8n 中设置 SAML:

下载附件

使用 Okta 设置 SAML 的图文分步指南

  1. 在 Okta 管理面板中,选择 Applications(应用)> Applications(应用)。

  2. 选择 Create App Integration(创建应用集成)。Okta 会打开应用创建弹窗。

  3. 选择 SAML 2.0,然后选择 Next(下一步)。

  4. 在 General Settings(常规设置)选项卡中,将 App name(应用名称)填写为 n8n。

  5. 选择 Next(下一步)。

  6. 在 Configure SAML(配置 SAML)选项卡中,填写以下 General(常规)字段:

    • Single sign-on URL(单点登录 URL):n8n 的 Redirect URL(重定向 URL)。
    • Audience URI (SP Entity ID)(受众 URI,即 SP 实体 ID):n8n 的 Entity ID(实体 ID)。
    • Default RelayState(默认 RelayState):留空。
    • Name ID format(名称 ID 格式):EmailAddress。
    • Application username(应用用户名):Okta username。
    • Update application username on(应用用户名更新时机):Create and update。
  7. 创建 Attribute Statements(属性语句):

    名称名称格式值
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstnameURI Referenceuser.firstName
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lastnameURI Referenceuser.lastName
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upnURI Referenceuser.login
    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressURI Referenceuser.email
  8. 选择 Next(下一步)。Okta 可能会要求填写营销表单,也可能直接打开新建的 n8n Okta 应用。

  9. 将 n8n 应用分配给用户:

    1. 在 Okta 的 n8n 应用控制台中,选择 Assignments(分配)。
    2. 选择 Assign(分配)> Assign to People(分配给用户)。Okta 会显示可用用户列表弹窗。
    3. 选择待添加用户旁的 Assign(分配)。Okta 会提示确认用户名。
    4. 将用户名保留为邮箱地址,选择 Save and Go Back(保存并返回)。
    5. 选择 Done(完成)。
  10. 获取元数据 XML:在 Sign On(登录)选项卡中复制 Metadata URL(元数据 URL),访问该地址并复制 XML,将其粘贴到 n8n 的 Identity Provider Settings(身份提供方设置)。

  11. 选择 Save settings(保存设置)。

  12. 选择 Test settings(测试设置)。n8n 会打开新选项卡。如果尚未登录,Okta 会提示登录,随后 n8n 显示成功消息,确认 Okta 返回的属性。

实例与项目访问权限预配 ​

n8n 支持通过 SSO 以两种方式预配实例与项目角色。请根据希望在哪里配置映射逻辑进行选择:

  • Map rules on your IdP(在 IdP 中映射规则):在 Okta 中配置 n8n 专用属性(n8n_instance_role 和 n8n_projects),n8n 直接从 SAML 响应读取这些属性。步骤见下文。
  • Map rules inside n8n(在 n8n 中映射规则):将 Okta 的组成员关系作为 SAML 属性发送,并在 n8n 中定义映射表达式。除组属性外,Okta 中无需配置其他 n8n 专用内容。请参阅 SAML 主设置页中的在 n8n 中映射规则。

在 n8n 中,将 Role assignment(角色分配)设为 Instance roles via SSO(通过 SSO 分配实例角色)或 Instance and project roles via SSO(通过 SSO 分配实例与项目角色),然后选择所需的 Role mapping method(角色映射方法)。

在 IdP 中映射规则 ​

添加所需属性

  1. 在 Okta 管理面板中,选择 Applications(应用)> Applications(应用)。

  2. 进入 n8n 应用的配置页面。

  3. 在 General(常规)选项卡中,点击 SAML Settings(SAML 设置)旁的 Edit(编辑)。

  4. 在打开的页面中,继续到第二步:Configure SAML(配置 SAML)。

  5. 添加以下两条 Attribute Statements(属性语句):

    名称名称格式值
    n8n_instance_roleBasicappuser.n8n_instance_role
    n8n_projectsBasicappuser.n8n_projects
  6. 点击 Next(下一步)。

  7. 点击 Finish(完成)。

更新应用配置文件

  1. 在 Okta 管理面板中,选择 Directory(目录)> Profile Editor(配置文件编辑器)。
  2. 进入 n8n 应用的配置文件。
  3. 点击 Add Attribute(添加属性)。
  4. 添加 n8n_instance_role 属性。
    • Data type(数据类型):string(字符串)。
    • Display name(显示名称):n8n_instance_role
    • Variable name(变量名):n8n_instance_role
    • Attribute type(属性类型):Group(组)。
  5. 添加 n8n_projects 属性。
    • Data type(数据类型):string array(字符串数组)。
    • Display name(显示名称):n8n_projects
    • Variable name(变量名):n8n_projects
    • Attribute type(属性类型):Group(组)。
    • Group priority(组优先级):Combine values across groups(合并各组的值)。

现在前往 Directory(目录)> Groups(组),编辑已分配的 n8n 应用,即可配置通过 SAML 登录时向 n8n 发送的 n8n_instance_role 和 n8n_projects。

相关资源 ​

本文为社区中文翻译。查看对应英文原文