如果我可以使用此令牌登录人群,我怎样才能在人群登录(通过休息服务)后生成SSO令牌? 我的意思是我用
crowdClient.authenticateUser(...)
之后
crowdClient.authenticateSSOUser
使用相同的凭据(我以相反的顺序尝试)
我将此令牌存储在crowd.token_key会话变量中,但Crowd不通过此令牌验证我。
但如果我首先登录人群,我的应用会识别此标记。
我认为它应该取决于ValidationFactor,但我不知道应该使用哪个。
答案 0 :(得分:0)
我在CROWD源代码中找到了解决方案。您需要使用下一个验证因子生成令牌:
List<ValidationFactor> validationFactors = new ArrayList<>();
validationFactors.add(new ValidationFactor(ValidationFactor.REMOTE_ADDRESS, request.getRemoteAddr()));
String remoteAddressXForwardFor = request.getHeader(ValidationFactor.X_FORWARDED_FOR);
if (remoteAddressXForwardFor != null && !remoteAddressXForwardFor.equals(request.getRemoteAddr())) {
validationFactors.add(new ValidationFactor(ValidationFactor.X_FORWARDED_FOR, remoteAddressXForwardFor));
}