如何在OKTA的SAML2响应中包括电子邮件

问题描述

我以前从未使用过OKTA。我已经在OKTA中设置了一个APP以测试SAML身份验证。在目录中创建的用户。我的客户端Web应用程序能够使用带有SAML 2的OKTA身份验证进行登录。但是,我的客户端Web应用程序还期望SAML2响应中包含电子邮件。如何在OKTA的回复添加电子邮件?当前在SAML 2响应中,我仅看到saml2:NameID

我遵循的步骤
1>以管理员身份登录OKTA仪表板
2>转到目录->配置文件编辑器->选择My App->配置文件
2>如下添加属性

enter image description here

3>保存属性后,单击“映射”
4>选择Okta User to My App标签并按如下所示设置映射

enter image description here

问题

成功认证后,来自OKTA的响应SAML 2不包含email属性。我看到的唯一属性NameID

解决方法

当您创建新的 SAML 集成或修改现有的集成时,您可以定义自定义属性语句。这些语句会插入到与您的应用共享的 SAML 断言中。

  1. 在管理控制台中,转至目录 > 配置文件编辑器,然后找到 您刚刚创建的集成。点击个人资料。
  2. 在打开的“属性”屏幕中,单击“添加属性”。
  3. 添加新属性并点击保存
  4. 在管理控制台中,转至应用程序 > 应用程序并单击 应用名称。
  5. 在打开的屏幕中,单击常规选项卡。然后点击编辑 SAML 设置部分。
  6. 在打开的屏幕中,单击下一步。
  7. 在属性声明(可选)部分,输入 您刚刚在第 3 步中创建的属性。此值不会 自动填充下拉框。对于值,键入 “appuser”、句点和属性名称。例如,如果您的 属性名为 NewRole,值为 appuser.NewRole。
  8. 完成后,点击下一步。
  9. 在“应用程序”页面上,单击集成名称,然后单击 作业选项卡。单击分配,然后选择分配给组。在里面 窗口,单击组右侧的分配。你可以验证这些 使用 SAML 跟踪器进行分配。

更多细节在这里: https://support.okta.com/help/s/article/How-to-define-and-configure-a-custom-SAML-attribute-statement?language=en_US