#### 自定义 SAMLv2 身份认证提供者

SAMLv2 身份认证提供者包含以下属性组：

- 声明内容

- 声明处理

- 本地配置

- 服务

- 高级

##### 声明内容

- 请求/响应签署

- 加密

- 证书别名

- 名称 ID 格式

- 名称 ID 值映射

- 验证环境

- 声明时间

- 基本验证

- 声明高速缓存

- 引导

##### 请求/响应签署

设置下列标志以向身份认证提供者说明服务提供者如何签署特定消息：

验证请求 | 必须签署此身份认证提供者接收的所有验证请求。
工件解析 | 服务提供者必须签署 `ArtifactResolve` 元素。
注销请求 | 服务提供者必须签署 `LogoutRequest` 元素。
注销响应 | 服务提供者必须签署 `LogoutResponse` 元素。
管理名称 ID 请求 | 服务提供者必须签署 `ManageNameIDRequst` 元素。
管理名称 ID 响应 | 服务提供者必须签署 `ManageNameIDResponse` 元素。

##### 加密

选中复选框来为以下元素启用加密：

NameID | 服务提供者必须加密所有 `NameID` 元素。

##### 证书别名

此属性为身份认证提供者定义证书别名元素。`签署`指定用于在密钥库中查找正确的签署证书的提供者证书别名。`加密`指定用于在密钥库中查找正确的加密证书的提供者证书别名。

##### 名称 ID 格式

定义身份认证提供者所支持的名称标识符格式。提供者可通过名称标识符进行涉及到用户的通信。单点登录交互支持以下标识符类型：

- `urn:oasis:names:tc:SAML:2.0:nameid-format:persistent`

- `urn:oasis:names:tc:SAML:2.0:nameid-format:transient`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress`

- `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`

持久标识符作为两个属性的值保存到特定的用户数据存储库条目中。临时标识符是临时的，不会有任何数据写入用户的持久数据存储库。

##### 名称 ID 值映射

此属性指定 NameID 格式属性和用户配置文件属性之间的映射。如果在协议中使用定义的名称 ID 格式，配置文件属性值将用作主体中的格式的 NameID 值。每个条目的语法为：

``NameID Format`=`User profile attribute``

例如：

`urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress=mail`

要添加新的 NameID 格式，需要使用对应的条目来更新“NameID 值映射”属性。 `持久`、`临时`和`未指定`是例外。对于`持久`和`临时`，将随机生成 NameID 值。此属性的`未指定`是可选的。如果已指定，NameID 值将是用户配置文件属性的值。如果未指定，则生成一个随机数。

##### 验证环境

此属性将 SAMLv2 定义的验证环境类映射到身份认证提供者提供的验证方法。

映射程序

  指定 `IDPAuthnContextMapper` 接口的实现，该接口用于创建请求的验证环境。默认实现是 `com.sun.identity.saml2.plugins.``DefaultIDPAttributeMapper`。

默认验证环境

  指定服务提供者没有发送验证环境请求时，身份认证提供者使用的默认验证环境类型。

支持

  如果身份认证提供者支持验证环境类，请选中其旁边的复选框。

环境参考

  SAMLv2 定义的验证环境类为：

  - InternetProtocol

  - InternetProtocolPassword

  - Kerberos

  - MobileOneFactorUnregistered

  - MobileTwoFactorUnregistered

  - MobileOneFactorContract

  - MobileTwoFactorContract

  - Password

  - Password-ProtectedTransport

  - Previous-Session

  - X509

  - PGP

  - SPKI

  - XMLDSig

  - Smartcard

  - Smartcard-PKI

  - Software-PKI

  - Telephony

  - NomadTelephony

  - PersonalTelephony

  - AuthenticaionTelephony

  - SecureRemotePassword

  - TLSClient

  - Time-Sync-Token

  - Unspecified

键

  选择环境所映射到的 OpenSSO 验证类型。

值

  键入 OpenSSO 验证选项。

级别

  映射到 OpenSSO 验证框架中定义的验证级别的正数值。验证级别表示验证方法的可信程度。

  在此框架中，每个身份认证提供者都配置了默认验证环境（首选验证方法）。然而，提供者可能想将指定的验证环境更改为基于已定义验证级别的验证环境。例如，提供者 B 想要生成验证级别为 3 的本地会话，所以它请求身份认证提供者使用指定为该级别的验证环境对用户进行验证。此查询参数的值确定身份认证提供者使用的验证环境。

##### 声明时间

声明在一段时间内有效，在这之前或之后都无效。此属性为 `Not Before Time Skew` 值指定宽限期（以秒为单位）。默认值为 `600`。它与 `notAfter` 值无关。

`有效时间`指定从声明的发出时间开始计算的声明有效时间（以秒为单位）。默认值为 `600` 秒。

##### 基本验证

可启用基本验证来保护 SOAP 端点。任何访问这些端点的提供者必须具有以下两个属性中定义的用户和密码：`用户名`和`密码`。

##### 声明高速缓存

如果启用，则会允许身份认证提供者高速缓存之后要检索的声明。

##### 引导

如果想在基于 Liberty 的单点登录过程中生成搜索服务的资源提供以进行引导，请选中该复选框。

##### 声明处理

- 属性映射程序

- 帐户映射程序

##### 属性映射程序

指定值，用于定义默认属性映射程序插件所使用的映射。默认的插件类为 `com.sun.identity.saml2.plugins.DefaultIDPAttributeMapper`。

映射应该按以下格式配置：

SAML-attribute=local-attribute

例如，`EmailAddress=mail` 或 `Address=postaladdress`。将映射作为“新值”键入，并单击“添加”。

##### 帐户映射程序

指定 `AccountMapper` 接口的实现，该接口用于将远程用户帐户映射到本地用户帐户以进行单点登录。默认值是 `com.sun.identity.saml2.plugins.``DefaultIDPAccountMapper`，即默认实现。

##### 本地配置

这些属性包含特定于 OpenSSO 实例的配置。

##### 验证 URL

定义验证 URL，身份认证提供者将重定向到该 URL 以进行验证。

##### 外部应用程序注销 URL

“外部应用程序注销 URL”定义外部应用程序的注销 URL。一旦服务器接收到来自远程伙伴的注销请求，就会使用反向通道 `HTTP POST` 向包含所有 cookie 的注销 URL 发送请求。可以选择在 URL 中含有查询参数 `appsessionproperty`（设置为会话属性名称）时，将用户会话属性作为 `HTTP 标头`和 `POST` 参数发送。

##### 服务

- 元数据别名

- 工件解析服务

- 单点注销服务

- 管理名称 ID 服务

- 单点登录服务

##### 元数据别名

为正在配置的提供者指定 `metaAlias`。`metaAlias` 用于查找提供者的实体标识符和它所属的组织。该值是一个字符串，由领域名称或组织名称（这取决于 OpenSSO 中是否安装了 SAML v2 Plug-in for Federation Services）加上正斜杠和提供者名称组成。例如，`/suncorp/travelprovider`。

注意 – `metaAlias` 中使用的名称绝不能包含 `/`。

##### 工件解析服务

定义支持工件解析配置文件的端点。`位置`指定请求所发送到的提供者的 URL。`索引`给端点指定唯一整数值，以便可在协议消息中引用端点。

##### 单点注销服务

单点注销服务会在身份认证提供者验证的所有会话间对注销功能进行同步。

`位置`指定请求所发送到的提供者的 URL。`响应位置`指定响应所发送到的提供者的 URL。绑定类型为：

- 重定向 HTTP

- POST

- SOAP

##### 管理名称 ID 服务

此服务定义特定 URL，当与服务提供者进行通信来为主体指定新的名称标识符时，会使用这些 URL。（只能在建立联合会话后注册。）

`位置`指定请求所发送到的提供者的 URL。`响应位置`指定响应所发送到的提供者的 URL。绑定类型为：

- 重定向 HTTP

- POST

- SOAP

##### 单点登录服务

定义支持验证请求协议的配置文件的端点。所有身份认证提供者必须至少支持一个这样的端点。

`位置`指定请求所发送到的提供者的 URL。绑定类型为：

- 重定向 HTTP

- POST

- SOAP

##### 高级

- IDP URL

- 应用程序密钥列表

- IDP 映射程序会话

##### IDP URL

在能处理 SAE（Secure Attribute Exchange, 安全属性交换）请求的身份认证提供者上定义 URL 端点。

##### 应用程序密钥列表

定义应用程序安全配置。每个应用程序必须有一个条目。每个条目具有以下格式：

`url=IDPAppURL|type=`symmetric_orAsymmetric`|secret=` ampassword encoded shared secret`` 或 `pubkeyalias=`idp app signing cert``

##### IDP 映射程序会话

为会话映射程序 SPI 定义实现类。映射程序会在含有 ECP 配置文件的身份认证提供者上的 HTTP servlet 请求中查找有效会话。