Skip to content

Commit 30e8d62

Browse files
committed
Breackpoint
1 parent 34a2dc5 commit 30e8d62

File tree

6 files changed

+44
-211
lines changed

6 files changed

+44
-211
lines changed

pom.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
<dependencies>
3535
<dependency>
3636
<groupId>org.springframework.boot</groupId>
37-
<artifactId>spring-boot-starter-oauth2-client</artifactId>
38-
<version>3.4.1</version>
37+
<artifactId>spring-boot-starter-security</artifactId>
3938
</dependency>
4039
<dependency>
4140
<groupId>org.springframework.boot</groupId>

src/main/java/net/coderic/core/api/config/ClientRegistrationIdResolverConfiguration.java

Lines changed: 0 additions & 89 deletions
This file was deleted.

src/main/java/net/coderic/core/api/config/PrincipalResolverConfiguration.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/main/java/net/coderic/core/api/config/RestClientConfiguration.java

Lines changed: 0 additions & 77 deletions
This file was deleted.

src/main/java/net/coderic/core/api/config/SecurityConfiguration.java

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
99
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
1010
import org.springframework.security.config.http.SessionCreationPolicy;
11+
import org.springframework.security.oauth2.jwt.JwtDecoder;
12+
import org.springframework.security.oauth2.jwt.JwtDecoders;
13+
import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
1114
import org.springframework.security.web.SecurityFilterChain;
1215
import org.springframework.security.web.authentication.logout.HeaderWriterLogoutHandler;
1316
import org.springframework.security.web.header.writers.ClearSiteDataHeaderWriter;
@@ -53,15 +56,15 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
5356
.sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
5457
.maximumSessions(10)
5558
)
56-
59+
/*
5760
.oauth2Client(Customizer.withDefaults())
5861
5962
.oauth2Login((oauth2Login) -> oauth2Login
6063
//.loginPage()
6164
.loginProcessingUrl("/swagger-ui/index.html")
6265
6366
//.loginPage(this.loginPage)
64-
)
67+
)*/
6568
/*
6669
.logout((logout) -> logout
6770
.logoutUrl("/logout")
@@ -84,12 +87,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
8487
.deleteCookies()
8588
.permitAll()
8689
)*/
87-
.formLogin(httpSecurityFormLoginConfigurer -> httpSecurityFormLoginConfigurer
88-
.loginPage("/login").permitAll()
89-
.defaultSuccessUrl("/index"))
90-
.logout(httpSecurityLogoutConfigurer -> httpSecurityLogoutConfigurer.permitAll()
91-
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
92-
.logoutSuccessUrl("/login"))
90+
9391
.headers(headers -> headers
9492
.httpStrictTransportSecurity((hsts) -> hsts
9593
.includeSubDomains(true)
@@ -99,6 +97,13 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
9997
.addHeaderWriter(
10098
new XFrameOptionsHeaderWriter(XFrameOptionsHeaderWriter.XFrameOptionsMode.DENY)
10199
)
100+
)
101+
.oauth2ResourceServer(oauth2 -> oauth2
102+
.jwt(jwt -> jwt
103+
.jwkSetUri("https://auth.coderic.org/.well-known/jwks.json")
104+
.jwtAuthenticationConverter(jwtAuthenticationConverter()
105+
)
106+
)
102107
)
103108
.requiresChannel(
104109
channel -> channel
@@ -120,4 +125,14 @@ public CorsConfigurationSource corsConfigurationSource() {
120125
source.registerCorsConfiguration("/**", configuration); // allow all paths
121126
return source;
122127
}
128+
129+
private JwtAuthenticationConverter jwtAuthenticationConverter() {
130+
JwtAuthenticationConverter converter = new JwtAuthenticationConverter();
131+
// Configura cómo deseas mapear los claims del token JWT a roles/autorizaciones
132+
return converter;
133+
}
134+
@Bean
135+
public JwtDecoder jwtDecoder() {
136+
return JwtDecoders.fromIssuerLocation("https://auth.coderic.org/");
137+
}
123138
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package net.coderic.core.api.controllers;
2+
3+
import org.springframework.web.bind.annotation.GetMapping;
4+
import org.springframework.web.bind.annotation.RequestMapping;
5+
import org.springframework.web.bind.annotation.RestController;
6+
7+
@RestController
8+
@RequestMapping("")
9+
public class TestController {
10+
11+
@GetMapping("/protected")
12+
public String protectedEndpoint() {
13+
return "¡Acceso permitido! Este endpoint está protegido por OAuth2.";
14+
}
15+
16+
@GetMapping("/public")
17+
public String publicEndpoint() {
18+
return "Este endpoint es público.";
19+
}
20+
}

0 commit comments

Comments
 (0)