@ConditionalOnMissingBean(name = "microsoftAzureActiveDirectoryAttributeRepositories")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public List<PersonAttributeDao> microsoftAzureActiveDirectoryAttributeRepositories(final CasConfigurationProperties casProperties) {
            val resolver = SpringExpressionLanguageValueResolver.getInstance();
            val list = new ArrayList<PersonAttributeDao>();
            val attrs = casProperties.getAuthn().getAttributeRepository();
            attrs.getAzureActiveDirectory().stream()
                .filter(msft -> StringUtils.isNotBlank(msft.getClientId()) && StringUtils.isNotBlank(msft.getClientSecret()))
                .forEach(msft -> {
                    val dao = new MicrosoftGraphPersonAttributeDao();
                    FunctionUtils.doIfNotNull(msft.getId(), id -> dao.setId(id));
                    FunctionUtils.doIfNotNull(msft.getApiBaseUrl(), dao::setApiBaseUrl);
                    FunctionUtils.doIfNotNull(msft.getGrantType(), dao::setGrantType);
                    FunctionUtils.doIfNotNull(msft.getLoginBaseUrl(), dao::setLoginBaseUrl);
                    FunctionUtils.doIfNotNull(msft.getLoggingLevel(), dao::setLoggingLevel);
                    FunctionUtils.doIfNotNull(msft.getAttributes(), dao::setProperties);
                    FunctionUtils.doIfNotNull(msft.getResource(), dao::setResource);
                    FunctionUtils.doIfNotNull(msft.getScope(), dao::setScope);

                    dao.setTenant(resolver.resolve(msft.getTenant()));
                    dao.setDomain(resolver.resolve(msft.getDomain()));
                    dao.setClientSecret(resolver.resolve(msft.getClientSecret()));
                    dao.setClientId(resolver.resolve(msft.getClientId()));

                    dao.setOrder(msft.getOrder());
                    list.add(dao);
                });
            return list;
        }
This is {@link CasAzureActiveDirectoryAuthenticationAutoConfiguration}.

@author Misagh Moayyed
@since 6.2.0
support/cas-server-support-azuread-authentication/src/main/java/org/apereo/cas/config/CasAzureActiveDirectoryAuthenticationAutoConfiguration.java