如何确保在OpenAM的身份验证链中使用相同的主体?
我需要用OpenAM建立一个两步认证链。在第一步中,模块请求一个用户证书(该证书之前必须与用户ID链接),并将其发送到一个外部web服务,该服务将对其进行验证并返回用户ID,该用户ID将成为主体的名称:如何确保在OpenAM的身份验证链中使用相同的主体?,openam,Openam,我需要用OpenAM建立一个两步认证链。在第一步中,模块请求一个用户证书(该证书之前必须与用户ID链接),并将其发送到一个外部web服务,该服务将对其进行验证并返回用户ID,该用户ID将成为主体的名称: public Principal getPrincipal() { return new DataStorePrincipal(userID); } 在第二步中,模块要求用户输入他的用户ID和密码。如何确保键入的用户ID与步骤1中的相同 模块链接如下: 证书-必备 ID/密码-必需 第
public Principal getPrincipal()
{
return new DataStorePrincipal(userID);
}
在第二步中,模块要求用户输入他的用户ID和密码。如何确保键入的用户ID与步骤1中的相同
模块链接如下:
第一个模块可以在共享状态映射中保存“userId”,第二个模块可以从共享状态映射中读取它。您可以查看现有的身份验证模块源代码,因为它们支持“共享状态”
您也可以查看一下“”,效果很好,谢谢!为了共享我在模块中使用的代码,下面介绍如何将userID设置为第一个模块上的共享状态:
storeUsernamePasswd(userID,null)
以及如何在第二个模块上读取它,在init()方法中:sharedState.get(getUserKey())代码>