diff options
Diffstat (limited to 'microservices/01-oauth2-server/src/main/java')
4 files changed, 75 insertions, 0 deletions
diff --git a/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/Oauth2ServerApplication.java b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/Oauth2ServerApplication.java new file mode 100644 index 0000000..68ee050 --- /dev/null +++ b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/Oauth2ServerApplication.java @@ -0,0 +1,13 @@ +package com.example.oauth2server; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Oauth2ServerApplication { + + public static void main(String[] args) { + SpringApplication.run(Oauth2ServerApplication.class, args); + } + +} diff --git a/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/AppConfig.java b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/AppConfig.java new file mode 100644 index 0000000..d841104 --- /dev/null +++ b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/AppConfig.java @@ -0,0 +1,16 @@ +package com.example.oauth2server.config; + +import java.util.List; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Component +@ConfigurationProperties(prefix = "app") +public class AppConfig { + private List<UserProperties> users; + + // Getters and Setters are required + public List<UserProperties> getUsers() { return users; } + public void setUsers(List<UserProperties> users) { this.users = users; } +} diff --git a/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/SecurityConfig.java b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/SecurityConfig.java new file mode 100644 index 0000000..205ad71 --- /dev/null +++ b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/SecurityConfig.java @@ -0,0 +1,27 @@ +package com.example.oauth2server.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; + +@Configuration +public class SecurityConfig { + private AppConfig appConfig; + + public SecurityConfig(AppConfig appConfig) { + this.appConfig = appConfig; + } + + @Bean + public UserDetailsService userDetailsService() { + InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager(); + + appConfig.getUsers().forEach(user -> manager.createUser(User.withUsername(user.getUsername()) + .password(user.getPassword()) + .build())); + + return manager; + } +} diff --git a/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/UserProperties.java b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/UserProperties.java new file mode 100644 index 0000000..c81a52a --- /dev/null +++ b/microservices/01-oauth2-server/src/main/java/com/example/oauth2server/config/UserProperties.java @@ -0,0 +1,19 @@ +package com.example.oauth2server.config; + +public class UserProperties { + private String username; + private String password; + + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } +} |
