0

我需要使用 OpenAM 建立一个两步验证链。在第一步中,模块请求用户证书(之前必须与用户 ID 链接)并将其发送到外部 Web 服务,该服务将对其进行验证并返回用户 ID,该用户 ID 成为 Principal 的名称:

public Principal getPrincipal()
{
    return new DataStorePrincipal(userID);
}

第二步,模块要求用户输入他的用户 ID 和密码。如何确保输入的用户 ID 与步骤 1 中的用户 ID 相同?

模块链接如下:

  1. 证书 - 要求
  2. ID/密码 - 必填
4

1 回答 1

1

第一个模块可以将“userId”保存在共享状态映射中,第二个模块可以从共享状态映射中读取它。您可以查看现有的 auth-modules 源,因为它们提供对“共享状态”的支持

您还可以查看“ http://docs.forgerock.org/en/openam/10.1.0/admin-guide/index.html#configure-authn-chains

于 2013-11-07T13:00:19.473 回答