diff --git a/backend/src/main/java/de/szut/casino/deposit/DepositController.java b/backend/src/main/java/de/szut/casino/deposit/DepositController.java index 44e97cb..cdf883d 100644 --- a/backend/src/main/java/de/szut/casino/deposit/DepositController.java +++ b/backend/src/main/java/de/szut/casino/deposit/DepositController.java @@ -47,7 +47,7 @@ public class DepositController { public ResponseEntity checkout(@RequestBody @Valid AmountDto amountDto, @RequestHeader("Authorization") String token) throws StripeException { Stripe.apiKey = stripeKey; - KeycloakUserDto userData = getKeycloakUserInfo(token); + KeycloakUserDto userData = getAuthentikUserInfo(token); Optional optionalUserEntity = this.userRepository.findOneByAuthentikId(userData.getSub()); SessionCreateParams params = SessionCreateParams.builder() @@ -77,7 +77,7 @@ public class DepositController { return ResponseEntity.ok(new SessionIdDto(session.getId())); } - private KeycloakUserDto getKeycloakUserInfo(String token) { + private KeycloakUserDto getAuthentikUserInfo(String token) { HttpHeaders headers = new HttpHeaders(); headers.set("Authorization", token); ResponseEntity response = this.restTemplate.exchange("https://oauth.simonis.lol/application/o/userinfo/", HttpMethod.GET, new HttpEntity<>(headers), KeycloakUserDto.class); diff --git a/backend/src/main/java/de/szut/casino/user/UserService.java b/backend/src/main/java/de/szut/casino/user/UserService.java index 21ab433..d5ce222 100644 --- a/backend/src/main/java/de/szut/casino/user/UserService.java +++ b/backend/src/main/java/de/szut/casino/user/UserService.java @@ -49,12 +49,12 @@ public class UserService { } public Optional getCurrentUser(String token) { - KeycloakUserDto userData = getKeycloakUserInfo(token); + KeycloakUserDto userData = getAuthentikUserInfo(token); if (userData == null) { return Optional.empty(); } - return this.userRepository.findOneByKeycloakId(userData.getSub()); + return this.userRepository.findOneByAuthentikId(userData.getSub()); } private KeycloakUserDto getAuthentikUserInfo(String token) { diff --git a/backend/src/main/java/de/szut/casino/user/dto/KeycloakUserDto.java b/backend/src/main/java/de/szut/casino/user/dto/KeycloakUserDto.java index 4238e13..3efe472 100644 --- a/backend/src/main/java/de/szut/casino/user/dto/KeycloakUserDto.java +++ b/backend/src/main/java/de/szut/casino/user/dto/KeycloakUserDto.java @@ -10,6 +10,8 @@ import lombok.Setter; @AllArgsConstructor @NoArgsConstructor public class KeycloakUserDto { + // Renamed class but kept for backward compatibility + // This now contains Authentik user info private String sub; private String preferred_username; } diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index a276667..4c56a9d 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -12,12 +12,28 @@ spring.application.name=lf12_starter spring.security.oauth2.client.registration.authentik.client-id=MDqjm1kcWKuZfqHJXjxwAV20i44aT7m4VhhTL3Nm spring.security.oauth2.client.registration.authentik.client-secret=GY2F8te6iAVYt1TNAUVLzWZEXb6JoMNp6chbjqaXNq4gS5xTDL54HqBiAlV1jFKarN28LQ7FUsYX4SbwjfEhZhgeoKuBnZKjR9eiu7RawnGgxIK9ffvUfMkjRxnmiGI5 +spring.security.oauth2.client.registration.authentik.provider=authentik +spring.security.oauth2.client.registration.authentik.client-name=Authentik +spring.security.oauth2.client.registration.authentik.scope=openid,email,profile +spring.security.oauth2.client.registration.authentik.client-authentication-method=client_secret_basic +spring.security.oauth2.client.registration.authentik.authorization-grant-type=authorization_code +spring.security.oauth2.client.registration.authentik.redirect-uri={baseUrl}/login/oauth2/code/{registrationId} + +# Provider settings +spring.security.oauth2.client.provider.authentik.issuer-uri=https://oauth.simonis.lol/application/o/casino-dev/ +spring.security.oauth2.client.provider.authentik.authorization-uri=https://oauth.simonis.lol/application/o/authorize/ +spring.security.oauth2.client.provider.authentik.token-uri=https://oauth.simonis.lol/application/o/token/ +spring.security.oauth2.client.provider.authentik.user-info-uri=https://oauth.simonis.lol/application/o/userinfo/ +spring.security.oauth2.client.provider.authentik.jwk-set-uri=https://oauth.simonis.lol/application/o/casino-dev/jwks/ +spring.security.oauth2.client.provider.authentik.user-name-attribute=preferred_username + +# Resource server config spring.security.oauth2.resourceserver.jwt.issuer-uri=https://oauth.simonis.lol/application/o/casino-dev/ spring.security.oauth2.resourceserver.jwt.jwk-set-uri=https://oauth.simonis.lol/application/o/casino-dev/jwks/ #OIDC provider configuration: logging.level.org.springframework.security=DEBUG -#validating JWT token against our Keycloak server +#validating JWT token against our Authentik server springdoc.swagger-ui.path=swagger springdoc.swagger-ui.try-it-out-enabled=true