diff --git a/.github/workflows/github.yml b/.github/workflows/github.yml index a9cc732..ebfa02c 100644 --- a/.github/workflows/github.yml +++ b/.github/workflows/github.yml @@ -4,7 +4,7 @@ on: push: branches: - master - - change-port + - jwt-auth-2 jobs: diff --git a/frontend/generated/vaadin-featureflags.ts b/frontend/generated/vaadin-featureflags.ts index d0581a6..0f81f16 100644 --- a/frontend/generated/vaadin-featureflags.ts +++ b/frontend/generated/vaadin-featureflags.ts @@ -3,4 +3,8 @@ window.Vaadin = window.Vaadin || {}; window.Vaadin.featureFlags = window.Vaadin.featureFlags || {}; window.Vaadin.featureFlags.exampleFeatureFlag = false; window.Vaadin.featureFlags.viteForFrontendBuild = false; -window.Vaadin.featureFlags.mapComponent = false; \ No newline at end of file +window.Vaadin.featureFlags.mapComponent = false; +window.Vaadin.featureFlags.spreadsheetComponent = false; +window.Vaadin.featureFlags.hillaPush = false; +window.Vaadin.featureFlags.newLicenseChecker = false; +window.Vaadin.featureFlags.collaborationEngineBackend = false; \ No newline at end of file diff --git a/package.json b/package.json index e7956ed..5defa90 100644 --- a/package.json +++ b/package.json @@ -116,10 +116,10 @@ "@vaadin/vaadin-virtual-list": "23.1.0", "@vaadin/vertical-layout": "23.1.0", "@vaadin/virtual-list": "23.1.0", - "construct-style-sheets-polyfill": "3.0.4", + "construct-style-sheets-polyfill": "3.1.0", "date-fns": "2.28.0", "line-awesome": "1.3.0", - "lit": "2.1.4" + "lit": "2.2.3" }, "devDependencies": { "async": "3.2.2", @@ -379,10 +379,10 @@ "@vaadin/vaadin-virtual-list": "23.1.0", "@vaadin/vertical-layout": "23.1.0", "@vaadin/virtual-list": "23.1.0", - "construct-style-sheets-polyfill": "3.0.4", + "construct-style-sheets-polyfill": "3.1.0", "date-fns": "2.28.0", "line-awesome": "1.3.0", - "lit": "2.1.4" + "lit": "2.2.3" }, "devDependencies": { "async": "3.2.2", diff --git a/src/main/java/com/privacydashboard/application/security/SecurityConfiguration.java b/src/main/java/com/privacydashboard/application/security/SecurityConfiguration.java index e9db536..5898d10 100644 --- a/src/main/java/com/privacydashboard/application/security/SecurityConfiguration.java +++ b/src/main/java/com/privacydashboard/application/security/SecurityConfiguration.java @@ -10,23 +10,43 @@ import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; @EnableWebSecurity @Configuration -@Order(1) +@Order(1) // Set the order of this security configuration (lower order value = applied first) public class SecurityConfiguration extends VaadinWebSecurityConfigurerAdapter { - public static final String LOGOUT_URL = "/"; + public static final String LOGOUT_URL = "/"; // Specify the URL for logout @Bean public PasswordEncoder passwordEncoder() { - return new BCryptPasswordEncoder(); + return new BCryptPasswordEncoder(); // Define the password encoder for password-based authentication } + @Bean + public JWTAuthenticationFilter jwtAuthenticationFilter() { + return new JWTAuthenticationFilter(); + } +// +// @Bean +// public MyAuthenticationSuccessHandler myAuthenticationSuccessHandler() { +// return new MyAuthenticationSuccessHandler(); +// } +// +// @Bean +// public AuthenticationEntryPoint customAuthenticationEntryPoint() { +// return (request, response, authException) -> { +// // Redirect unauthenticated users to the login page +// response.sendRedirect("/login"); +// }; +// } + @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() + .addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class) // Add custom JWT filter before the UsernamePasswordAuthenticationFilter .authorizeRequests().antMatchers("/api/**").authenticated() .and().httpBasic(); super.configure(http); @@ -36,6 +56,6 @@ protected void configure(HttpSecurity http) throws Exception { @Override public void configure(WebSecurity web) throws Exception { super.configure(web); - web.ignoring().antMatchers("/images/*.png"); + web.ignoring().antMatchers("/images/*.png"); // Ignore static resources (images) for better performance } -} \ No newline at end of file +} diff --git a/src/main/java/com/privacydashboard/application/security/UserApiSecurityConfiguration.java b/src/main/java/com/privacydashboard/application/security/UserApiSecurityConfiguration.java index f1d616a..321dee2 100644 --- a/src/main/java/com/privacydashboard/application/security/UserApiSecurityConfiguration.java +++ b/src/main/java/com/privacydashboard/application/security/UserApiSecurityConfiguration.java @@ -1,20 +1,20 @@ -package com.privacydashboard.application.security; - -import com.vaadin.flow.spring.security.VaadinWebSecurityConfigurerAdapter; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; - -@Configuration -@Order(2) -public class UserApiSecurityConfiguration extends VaadinWebSecurityConfigurerAdapter { - @Override - protected void configure(HttpSecurity http) throws Exception { - http.antMatcher("/userapi/**") - .authorizeRequests() - .anyRequest().authenticated() - .and() - .addFilterBefore(new JWTAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); - } -} +//package com.privacydashboard.application.security; +// +//import com.vaadin.flow.spring.security.VaadinWebSecurityConfigurerAdapter; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.core.annotation.Order; +//import org.springframework.security.config.annotation.web.builders.HttpSecurity; +//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +// +//@Configuration +//@Order(2) +//public class UserApiSecurityConfiguration extends VaadinWebSecurityConfigurerAdapter { +// @Override +// protected void configure(HttpSecurity http) throws Exception { +// http.antMatcher("/userapi/**") +// .authorizeRequests() +// .anyRequest().authenticated() +// .and() +// .addFilterBefore(new JWTAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); +// } +//}