Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证_Java_Spring Boot_Web Config_Cas_Openid Connect - Fatal编程技术网

Java cas.version=5.0.3.1 cas.apereo使用FranceConnect openidConnect添加身份验证

Java 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

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.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始终为空

请问你有没有一个简单化的解决方案? 我已经配置了两种连接模式 谢谢你的帮助

关于,, 卡梅尔