我需要与OpenAM建立一个两步验证链。在第一步中,模块请求用户证书(必须先与用户ID链接)并将其发送到外部Web服务,该服务将对其进行验证并返回userID,后者将成为Principal的名称:
public Principal getPrincipal()
{
return new DataStorePrincipal(userID);
}
在第二步,模块要求用户输入他的用户ID和密码。如何确保键入的用户ID与步骤1中的用户ID相同?
模块链接如下:
答案 0 :(得分:1)
第一个模块可以将'userId'保存在共享状态映射中,第二个模块可以从共享状态映射中读取它。您可以查看现有的auth-modules源代码,因为它们支持“共享状态”
您还可以查看“http://docs.forgerock.org/en/openam/10.1.0/admin-guide/index.html#configure-authn-chains”