如何确保在OpenAM的身份验证链中使用相同的Principal?

时间:2013-11-07 11:19:45

标签: openam

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

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

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

模块链接如下:

  1. 证书 - REQUISITE
  2. ID /密码 - 必须

1 个答案:

答案 0 :(得分:1)

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

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