Skip to content

Commit a493746

Browse files
committed
testing
1 parent fe5bd98 commit a493746

File tree

7 files changed

+91
-91
lines changed

7 files changed

+91
-91
lines changed

infrastructure/whiteboard-app/staging.values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ server:
5353
- name: ALLOWED_ORIGIN
5454
value: "https://staging.whiteboard.student.k8s.aet.cit.tum.de"
5555
- name: IDP_URI
56-
value: '{{ printf "http://%s-keycloak:8080/realms/staging" .Release.Name }}'
56+
value: "https://staging.auth.whiteboard.student.k8s.aet.cit.tum.de/realms/staging"
5757

5858
replicaCount: 1
5959

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package de.tum.cit.aet.devops.teamserverdown.config;
22

3-
//import de.tum.cit.aet.devops.teamserverdown.security.CurrentUser;
3+
import de.tum.cit.aet.devops.teamserverdown.security.CurrentUser;
44
import io.swagger.v3.oas.models.ExternalDocumentation;
55
import io.swagger.v3.oas.models.OpenAPI;
66
import io.swagger.v3.oas.models.Operation;
@@ -31,31 +31,31 @@ public OpenAPI openAPI() {
3131
.url("https://github.com/AET-DevOps25/team-server-down"));
3232
}
3333

34-
// @Bean
35-
// public OperationCustomizer hideCurrentUser() {
36-
// return (Operation operation, HandlerMethod handlerMethod) -> {
37-
// if (operation.getParameters() == null) {
38-
// return operation;
39-
// }
40-
//
41-
// MethodParameter[] methodParameters = handlerMethod.getMethodParameters();
42-
// List<Parameter> openApiParams = operation.getParameters();
43-
//
44-
// Iterator<Parameter> paramIterator = openApiParams.iterator();
45-
// while (paramIterator.hasNext()) {
46-
// Parameter openApiParam = paramIterator.next();
47-
// for (MethodParameter methodParam : methodParameters) {
48-
// if (methodParam.hasParameterAnnotation(CurrentUser.class)) {
49-
// String methodParamName = methodParam.getParameterName();
50-
// if (methodParamName == null || openApiParam.getName().equals(methodParamName)) {
51-
// paramIterator.remove();
52-
// break;
53-
// }
54-
// }
55-
// }
56-
// }
57-
//
58-
// return operation;
59-
// };
60-
// }
34+
@Bean
35+
public OperationCustomizer hideCurrentUser() {
36+
return (Operation operation, HandlerMethod handlerMethod) -> {
37+
if (operation.getParameters() == null) {
38+
return operation;
39+
}
40+
41+
MethodParameter[] methodParameters = handlerMethod.getMethodParameters();
42+
List<Parameter> openApiParams = operation.getParameters();
43+
44+
Iterator<Parameter> paramIterator = openApiParams.iterator();
45+
while (paramIterator.hasNext()) {
46+
Parameter openApiParam = paramIterator.next();
47+
for (MethodParameter methodParam : methodParameters) {
48+
if (methodParam.hasParameterAnnotation(CurrentUser.class)) {
49+
String methodParamName = methodParam.getParameterName();
50+
if (methodParamName == null || openApiParam.getName().equals(methodParamName)) {
51+
paramIterator.remove();
52+
break;
53+
}
54+
}
55+
}
56+
}
57+
58+
return operation;
59+
};
60+
}
6161
}
Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
//package de.tum.cit.aet.devops.teamserverdown.config;
2-
//
3-
//import de.tum.cit.aet.devops.teamserverdown.security.CurrentUserArgumentResolver;
4-
//import java.util.List;
5-
//import org.springframework.context.annotation.Configuration;
6-
//import org.springframework.web.method.support.HandlerMethodArgumentResolver;
7-
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8-
//
9-
//@Configuration
10-
//public class WebConfiguration implements WebMvcConfigurer {
11-
// private final CurrentUserArgumentResolver currentUserArgumentResolver;
12-
//
13-
// public WebConfiguration(CurrentUserArgumentResolver currentUserArgumentResolver) {
14-
// this.currentUserArgumentResolver = currentUserArgumentResolver;
15-
// }
16-
//
17-
// @Override
18-
// public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
19-
// resolvers.add(currentUserArgumentResolver);
20-
// }
21-
//}
1+
package de.tum.cit.aet.devops.teamserverdown.config;
2+
3+
import de.tum.cit.aet.devops.teamserverdown.security.CurrentUserArgumentResolver;
4+
import java.util.List;
5+
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
7+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8+
9+
@Configuration
10+
public class WebConfiguration implements WebMvcConfigurer {
11+
private final CurrentUserArgumentResolver currentUserArgumentResolver;
12+
13+
public WebConfiguration(CurrentUserArgumentResolver currentUserArgumentResolver) {
14+
this.currentUserArgumentResolver = currentUserArgumentResolver;
15+
}
16+
17+
@Override
18+
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
19+
resolvers.add(currentUserArgumentResolver);
20+
}
21+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package de.tum.cit.aet.devops.teamserverdown.controller;
22

33
import de.tum.cit.aet.devops.teamserverdown.model.User;
4-
//import de.tum.cit.aet.devops.teamserverdown.security.CurrentUser;
4+
import de.tum.cit.aet.devops.teamserverdown.security.CurrentUser;
55
import io.swagger.v3.oas.annotations.tags.Tag;
66
import org.springframework.web.bind.annotation.GetMapping;
77
import org.springframework.web.bind.annotation.RestController;
@@ -10,7 +10,7 @@
1010
@Tag(name = "Account", description = "User Accounts")
1111
public class AccountController {
1212
@GetMapping("/me")
13-
public String getCurrentUser() {
14-
return "user.getUsername()";
13+
public String getCurrentUser(@CurrentUser User user) {
14+
return user.getUsername();
1515
}
1616
}
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
//package de.tum.cit.aet.devops.teamserverdown.security;
2-
//
3-
//import java.lang.annotation.*;
4-
//
5-
//@Target(ElementType.PARAMETER)
6-
//@Retention(RetentionPolicy.RUNTIME)
7-
//@Documented
8-
//public @interface CurrentUser {}
1+
package de.tum.cit.aet.devops.teamserverdown.security;
2+
3+
import java.lang.annotation.*;
4+
5+
@Target(ElementType.PARAMETER)
6+
@Retention(RetentionPolicy.RUNTIME)
7+
@Documented
8+
public @interface CurrentUser {}
Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
//package de.tum.cit.aet.devops.teamserverdown.security;
2-
//
3-
//import de.tum.cit.aet.devops.teamserverdown.model.User;
4-
//import jakarta.servlet.http.HttpServletRequest;
5-
//import org.springframework.core.MethodParameter;
6-
//import org.springframework.stereotype.Component;
7-
//import org.springframework.web.context.request.NativeWebRequest;
8-
//import org.springframework.web.method.support.HandlerMethodArgumentResolver;
9-
//import org.springframework.web.method.support.ModelAndViewContainer;
10-
//
11-
//@Component
12-
//public class CurrentUserArgumentResolver implements HandlerMethodArgumentResolver {
13-
// @Override
14-
// public boolean supportsParameter(MethodParameter parameter) {
15-
// return parameter.hasParameterAnnotation(CurrentUser.class)
16-
// && parameter.getParameterType().equals(User.class);
17-
// }
18-
//
19-
// @Override
20-
// public Object resolveArgument(
21-
// MethodParameter parameter,
22-
// ModelAndViewContainer mavContainer,
23-
// NativeWebRequest webRequest,
24-
// org.springframework.web.bind.support.WebDataBinderFactory binderFactory) {
25-
// HttpServletRequest request = (HttpServletRequest) webRequest.getNativeRequest();
26-
// return request.getAttribute("user");
27-
// }
28-
//}
1+
package de.tum.cit.aet.devops.teamserverdown.security;
2+
3+
import de.tum.cit.aet.devops.teamserverdown.model.User;
4+
import jakarta.servlet.http.HttpServletRequest;
5+
import org.springframework.core.MethodParameter;
6+
import org.springframework.stereotype.Component;
7+
import org.springframework.web.context.request.NativeWebRequest;
8+
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
9+
import org.springframework.web.method.support.ModelAndViewContainer;
10+
11+
@Component
12+
public class CurrentUserArgumentResolver implements HandlerMethodArgumentResolver {
13+
@Override
14+
public boolean supportsParameter(MethodParameter parameter) {
15+
return parameter.hasParameterAnnotation(CurrentUser.class)
16+
&& parameter.getParameterType().equals(User.class);
17+
}
18+
19+
@Override
20+
public Object resolveArgument(
21+
MethodParameter parameter,
22+
ModelAndViewContainer mavContainer,
23+
NativeWebRequest webRequest,
24+
org.springframework.web.bind.support.WebDataBinderFactory binderFactory) {
25+
HttpServletRequest request = (HttpServletRequest) webRequest.getNativeRequest();
26+
return request.getAttribute("user");
27+
}
28+
}

server/src/main/java/de/tum/cit/aet/devops/teamserverdown/security/JWTAuthenticationFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ protected void doFilterInternal(
3030
String token = authHeader.substring(7);
3131
try {
3232
DecodedJWT decoded = jwtValidator.validateToken(token);
33-
// User user = userService.getOrCreateUser(decoded);
33+
User user = userService.getOrCreateUser(decoded);
3434

35-
// request.setAttribute("user", user);
35+
request.setAttribute("user", user);
3636
} catch (JWTVerificationException e) {
3737
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
3838
response.getWriter().write("Invalid JWT token");

0 commit comments

Comments
 (0)