创建 SAML Identity Provider 应用
注册一个 Authing 账号并新建一个应用
使用 Authing 云上的 SAML SP 或 SAML IdP 需要先注册一个 Authing 账号并新建一个应用。
创建 SAML IdP 应用
进入刚创建应用的控制台,点击第三方登录选项卡,在下方的的选项卡点击 SAML IdP,点击右侧「创建 SAML IdP」按钮。

在弹出的窗口中输入应用信息,认证地址处填写一个二级域名,作为 IdP 的云上地址。点击「创建应用」。

认证地址是本 IdP 应用的云上地址,这里可任意填写一个二级域名。
创建成功后,还需要填写一些 IdP 的基础配置才能使其正常工作。如果没有特殊需求,保留默认配置即可。

AssertionConsumeServiceURL 由 SP 提供,IdP 默认会将 SAML Response POST 发到这个 URL 地址。
支持的 bindings 本 IdP 支持接收 SAML Request 的方式,即允许 SP 通过 GET 或 POST 的方式传递 SAML Request 信息。
SP 以 GET 方式发送 SAML Request 👇
SP 以 POST 方式发送 SAML Request 👇
支持的 NameID 格式 本 IdP 支持返回的用户唯一标识符格式。SP 可能要求 IdP 返回特定格式的用户唯一标识。
如果设置 IdP 支持 emailAddress 格式,当 SP 要求返回 emailAddress 格式的用户标识符时,会返回下面这样的
默认会返回 persistent 格式的用户标识符
SAML Attribute 指定本 IdP 在返回的 SAML Response 中包含哪些用户信息。
用户信息返回示例
SP Metadata 你的 SP 提供方会提供一份元数据 XML 文档,推荐上传此配置文件,Authing 会优先应用这里面的配置。
接下来配置一些 SAML Assertion 中的 Attributes 的配置。如无特殊要求,保持默认配置即可。

Assertion attributes 中的 Name 格式 影响 SAML Response 中 Attribute 的 Name。
设置为 Basic 时
设置为 URI 时
自定义 Attribute 用来设置 SAML Assertion 额外携带的属性,在编辑器中输入一个合法的 JSON 对象,key 为 Attribute 的 Name,value 为 XML 中对应的值。
认证上下文用来描述本 IdP 签发 Assertion 时和用户通信的状态,例如 Password-ProtectedTransport 代表用户是通过 https 和 idp 连接并认证。如果无特殊需求,保留默认即可。
最后配置一些加密、签名方面的设置
对 SAML Response 签名
IdP 必须对每个 SAML Response 进行签名再返回给 SP,确保断言颁发者的身份合法性。选择签名算法和摘要算法,输入或从文件读入证书内容,注意证书算法必须与选择的签名和摘要算法一致。如果你没有证书,可以从这里生成一个。

要求 SAML Request 签名
IdP 可以要求 SP 对 SAML Request 签名。打开此开关后,IdP 收到 SAML Request 后会先验证签名,如果签名错误,会返回错误信息,而不会执行验证用户身份的流程。

此处需要上传或输入相应 SP 的签名证书。SP 可能会单独提供此证书,如果没有,可以从 SP 的元数据 XML 文档中获取,注意对其进行格式化,保留首尾这些-----BEGIN CERTIFICATE----- 字样。
加密 SAML Response
IdP 可以对 SAML Response 进行加密。打开此开关后,IdP 会将 SAML Response 进行加密处理,再返回给 SP。

此处需要上传或输入相应 SP 的加密证书。SP 可能会单独提供此证书,如果没有,可以从 SP 的元数据 XML 文档中获取,注意对其进行格式化。保留首尾这些-----BEGIN CERTIFICATE----- 字样。
点击确定,会显示本 IdP 的一些使用信息。

到此完成了 SAML Identity Provider 的创建。
Last updated
Was this helpful?