注册查找 API 合同

几乎每个外部 MFA 集成都必须允许 ISV Verify 查找特定用户的所有当前可用 MFA 因子功能。 运行时,Verify 期望响应包含 JSON 对象列表,其中每个对象标识并表示用户的一个 MFA 功能。

下例展示了由 Verify 发送到实时 webhook 的 资源的 enrollments 请求示例。 根据 Webhook 配置,此相同有效内容可直接发送至目标 MFA 提供程序,也可以转换为目标提供程序可接受的 API 客户机请求。
POST '/enrollments' \
'Content-Type: application/json' \
'Accept: application/json' \

{
    "username": "<<external MFA username>>"
}
注意: 本示例中的 HTTP/enrollments 路径会根据 webhook 的配置而有所不同。

注册查找请求详细信息

Element 描述
HTTP 请求 POST
HTTP 标头 - Content-Type 请求有效内容的内容类型始终为 application/json
HTTP 标头 - 接受 期望的响应有效内容的内容类型始终为 application/json
有效内容 这是一个 JSON 对象,用于标识为其请求注册的用户。
用户名 必填。 为其请求注册数据的外部提供程序系统中的用户的名称。
以下样本是 enrollment lookup 响应有效内容的示例。
[
    {
        "attributes": {
            "authExecutionFlow": "init_then_poll",
            "deviceName": "<<Device name if available>>",
        },
        "capability": "<<factor capability name, e.g. push>>",
        "id": "<<factor or device identifier from external provider>>"
    },
    {
        "attributes": {
            "authExecutionFlow": "init_then_validate",
            "deliveryAddress": "<<e.g. phone number or email address>>",
            "deviceName": "<<Device name if available>>",
        },
        "capability": "<<factor capability name, e.g. smsotp>>",
        "id": "<<factor or device identifier from external provider>>"
    },
    {
        "attributes": {
            "authExecutionFlow": "validate",
            "deviceName": "<<Device name if available>>",
        },
        "capability": "<<factor capability name, e.g. totp>>",
        "id": "<<factor or device identifier from external provider>>"
    }
]

注册查找响应详细信息

元素 描述
有效内容类型 外部 MFA 注册的 JSON 数组。
HTTP 状态码 请参阅 HTTP Status
id

必填。 用户已注册 MFA 因子功能的唯一标识。

capability

必填。 该值是有效字符串。 它必须与为与 Webhook 关联的 MFA 提供程序配置的某个功能相匹配。

attributes

必填。 返回至已触发注册查找的公共 Verify 客户机的其他属性。 可能存在更多属性和值。

attributes.authExecutionFlow 必填。 通知 Verify 该因子功能所支持的 MFA pattern。 有效值包括:
  • validate - 仅验证模式。
  • init_then_validate - 启动验证模式。
  • init_then_poll - 启动然后等待完成模式。 此属性由 Verify 外部 MFA 运行时质询 UI/UX 和框架用于驱动运行时执行。
attributes.deliveryAddress

可选。 如果执行模式包含 MFA 令牌传递或类似体验,那么在 MFA 用户选择期间,此属性由 Verify 显示。 此模式可以帮助并通知用户有关所提供的 MFA 选择的信息。

attributes.deviceName

可选。 如果执行模式包含 MFA 令牌交付体验,或者以其他方式包含用户所拥有的某种单独认证设备或令牌,那么在选择 MFA 用户期间,此属性由 Verify 显示。 此模式可以帮助并通知用户有关所提供的 MFA 选择的信息。