Java cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证
cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证 我使用openIDConnect配置FranceConnect协议,该协议带有cas apereo版本cas。版本=5.0.3.1Java cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证,java,spring-boot,web-config,cas,openid-connect,Java,Spring Boot,Web Config,Cas,Openid Connect,cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证 我使用openIDConnect配置FranceConnect协议,该协议带有cas apereo版本cas。版本=5.0.3.1 I add in cas.properties ## # CAS Authentication Attributes # cas.authn.attributeRepository.attributes.uid=uid cas.aut
I add in cas.properties
##
# CAS Authentication Attributes
#
cas.authn.attributeRepository.attributes.uid=uid
cas.authn.attributeRepository.attributes.displayName=displayName
cas.authn.attributeRepository.attributes.cn=commonName
cas.authn.attributeRepository.attributes.affiliation=groupMembership
cas.authn.pac4j.oidc.id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cas.authn.pac4j.oidc.secret=ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
cas.authn.pac4j.oidc.discoveryUri=http://localhost:8082/cas/js/fc.json
cas.authn.pac4j.oidc.useNonce=true
cas.authn.pac4j.oidc.preferredJwsAlgorithm=HS256
cas.authn.pac4j.client.authn.typedidused=true
cas.authn.pac4j.oidc.maxClockSkew=30
In my configuration cas i have tow connexion , i add thirth connexion with openid
@Autowired
@SuppressWarnings("SpringJavaAutowiringInspection")
private ClientAuthenticationHandler clientAuthenticationHandler;
final Map<AuthenticationHandler, PrincipalResolver> handlerResolverMap = new LinkedHashMap<>();
handlerResolverMap.put(clientAuthenticationHandler, new PersonDirectoryPrincipalResolver());
@Configuration
public class AuthenticationConfig {
@Autowired
@SuppressWarnings("SpringJavaAutowiringInspection")
private ClientAuthenticationHandler clientAuthenticationHandler;
/**
* Initialisation du manager d'authentification
*
* @return Objet AuthenticationManager
*/
@Bean
public AuthenticationManager authenticationManager(HttpClient simpleHttpClient) {
// Initialisation du CAS manager
final PolicyBasedAuthenticationManager policyBasedAuthenticationManager = new PolicyBasedAuthenticationManager();
// Handler et Resolver correspondants
final Map<AuthenticationHandler, PrincipalResolver> handlerResolverMap = new LinkedHashMap<>();
handlerResolverMap.put(clientAuthenticationHandler, new PersonDirectoryPrincipalResolver());
handlerResolverMap.put(authenticationHandlerImpl(), principalResolver());
handlerResolverMap.put(serviceTicketAuthenticationHandler(), serviceTicketCredentialsToPrincipalResolver());
policyBasedAuthenticationManager.setHandlerResolverMap(handlerResolverMap);
// Populators
final List<AuthenticationMetaDataPopulator> populators = new ArrayList<>();
populators.add(authenticationMetaDataPopulator());
policyBasedAuthenticationManager.setAuthenticationMetaDataPopulators(populators);
return policyBasedAuthenticationManager;
}
}
我添加了cas.properties
##
#CAS身份验证属性
#
cas.authn.attributeRepository.attributes.uid=uid
cas.authn.attributeRepository.attributes.displayName=displayName
cas.authn.attributeRepository.attributes.cn=commonName
cas.authn.attributeRepository.attributes.affiliation=groupMembership
cas.authn.pac4j.oidc.id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
cas.authn.pac4j.oidc.secret=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
cas.authn.pac4j.oidc.discoveryUri=http://localhost:8082/cas/js/fc.json
cas.authn.pac4j.oidc.useNonce=true
cas.authn.pac4j.oidc.preferredJwsAlgorithm=HS256
cas.authn.pac4j.client.authn.typedidused=true
cas.authn.pac4j.oidc.maxClockSkew=30
在我的配置cas中,我有两个连接,我用openid添加了第三个连接
@自动连线
@抑制警告(“SpringJavaAutowiringInspection”)
私有ClientAuthenticationHandler ClientAuthenticationHandler;
final Map handlerResolverMap=新LinkedHashMap();
handlerResolverMap.put(clientAuthenticationHandler,new PersonDirectoryPrincipalResolver());
@配置
公共类AuthenticationConfig{
@自动连线
@抑制警告(“SpringJavaAutowiringInspection”)
私有ClientAuthenticationHandler ClientAuthenticationHandler;
/**
*管理者身份验证的初始化
*
*@return-Objet-AuthenticationManager
*/
@豆子
公共AuthenticationManager AuthenticationManager(HttpClient simpleHttpClient){
//CAS管理器初始化
最终PolicyBasedAuthenticationManager PolicyBasedAuthenticationManager=新PolicyBasedAuthenticationManager();
//Handler et分解器对应对象
final Map handlerResolverMap=新LinkedHashMap();
handlerResolverMap.put(clientAuthenticationHandler,new PersonDirectoryPrincipalResolver());
handlerResolverMap.put(authenticationHandlerImpl(),principalResolver());
handlerResolverMap.put(serviceTicketAuthenticationHandler(),serviceTicketCredentialsToPrincipalResolver());
policyBasedAuthenticationManager.setHandlerResolverMap(handlerResolverMap);
//人口
最终列表填充器=新的ArrayList();
add(authenticationMetaDataPopulator());
policyBasedAuthenticationManager.setAuthenticationMetaDataPopulators(populators);
返回policyBasedAuthenticationManager;
}
}
问题:clientAuthenticationHandler始终为空
请问你有没有一个简单化的解决方案?
我已经配置了两种连接模式
谢谢你的帮助
关于,,
卡梅尔