Integration Guide

Java Spring Boot

Complete guide for integrating Java Spring Boot applications with CAS SSO

8 min setup Intermediate Java 17+ / Spring 3

1. Maven Dependency

pom.xml
<dependency>
    <groupId>com.cas-system</groupId>
    <artifactId>java-client</artifactId>
    <version>2.0.0</version>
</dependency>

2. Configuration

application.yml
cas:
  server-url: https://your-cas-server.com
  client-id: your_client_id
  client-secret: your_client_secret
  callback-url: https://your-app.com/cas/callback

3. Auth Service

CasAuthService.java
@Service
public class CasAuthService {

    private final RestTemplate restTemplate;
    private final CasProperties props;

    public CasUser validateToken(String token) {
        Map<String, Object> body = Map.of(
            "token",         token,
            "client_id",     props.getClientId(),
            "client_secret", props.getClientSecret()
        );

        ResponseEntity<CasResponse> response = restTemplate
            .postForEntity(
                props.getServerUrl() + "/api/sso/validate",
                body,
                CasResponse.class
            );

        return response.getBody().getUser();
    }
}

4. Security Config

SecurityConfig.java
@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) {
        http
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/cas/**").permitAll()
                .anyRequest().authenticated()
            )
            .addFilterBefore(
                casTokenFilter(),
                UsernamePasswordAuthFilter.class
            );
        return http.build();
    }
}
Done! Spring Security will intercept requests and validate CAS tokens via the custom filter.

Next Steps