Skip to content

Commit 9e5dd8d

Browse files
committed
migrate "header key" as "api password" to database (#1540)
1 parent a133cdc commit 9e5dd8d

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

src/main/java/de/rwth/idsg/steve/service/WebUserService.java

+15-7
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,14 @@
2626
import de.rwth.idsg.steve.repository.WebUserRepository;
2727
import jooq.steve.db.tables.records.WebUserRecord;
2828
import lombok.RequiredArgsConstructor;
29+
import org.apache.commons.lang3.StringUtils;
2930
import org.jooq.JSON;
3031
import org.springframework.context.event.ContextRefreshedEvent;
3132
import org.springframework.context.event.EventListener;
3233
import org.springframework.security.access.AccessDeniedException;
3334
import org.springframework.security.core.Authentication;
3435
import org.springframework.security.core.GrantedAuthority;
36+
import org.springframework.security.core.authority.AuthorityUtils;
3537
import org.springframework.security.core.context.SecurityContext;
3638
import org.springframework.security.core.context.SecurityContextHolderStrategy;
3739
import org.springframework.security.core.userdetails.User;
@@ -80,14 +82,20 @@ public void afterStart(ContextRefreshedEvent event) {
8082
return;
8183
}
8284

83-
var user = User
84-
.withUsername(SteveConfiguration.CONFIG.getAuth().getUserName())
85-
.password(SteveConfiguration.CONFIG.getAuth().getEncodedPassword())
86-
.disabled(false)
87-
.authorities("ADMIN")
88-
.build();
85+
var headerKey = SteveConfiguration.CONFIG.getWebApi().getHeaderKey();
86+
87+
var encodedApiPassword = StringUtils.isEmpty(headerKey)
88+
? null
89+
: SteveConfiguration.CONFIG.getAuth().getPasswordEncoder().encode(headerKey);
90+
91+
var user = new WebUserRecord()
92+
.setUsername(SteveConfiguration.CONFIG.getAuth().getUserName())
93+
.setPassword(SteveConfiguration.CONFIG.getAuth().getEncodedPassword())
94+
.setApiPassword(encodedApiPassword)
95+
.setEnabled(true)
96+
.setAuthorities(toJson(AuthorityUtils.createAuthorityList("ADMIN")));
8997

90-
this.createUser(user);
98+
webUserRepository.createUser(user);
9199
}
92100

93101
@Override

0 commit comments

Comments
 (0)