Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Commit

Permalink
[#141] add principalExtractor
Browse files Browse the repository at this point in the history
  • Loading branch information
jenarp committed Jan 17, 2022
1 parent 26cd9a5 commit a783f3b
Show file tree
Hide file tree
Showing 8 changed files with 543 additions and 49 deletions.
8 changes: 8 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,14 @@
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework.security.oauth.boot/spring-security-oauth2-autoconfigure -->
<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>2.6.2</version>
</dependency>


<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/bonndan/nivio/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public static void main(String[] args) {
@Bean
CommandLineRunner commandLineRunner(AppUserRepository userRepository) {
return args -> {
AppUser mary = new AppUser("Mary", "mary88", "[email protected]", "secret123", AppUserRole.USER, false, true );
AppUser mary = new AppUser("Mary", "mary88", "[email protected]", "avatarURL", AppUserRole.USER, false, true );
userRepository.save(mary);
};
}
Expand Down
23 changes: 13 additions & 10 deletions src/main/java/de/bonndan/nivio/appuser/AppUser.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package de.bonndan.nivio.appuser;

import lombok.*;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
Expand Down Expand Up @@ -48,11 +51,11 @@ public class AppUser implements UserDetails {


@Column(
name = "user_name",
name = "alias",
nullable = false,
columnDefinition = "TEXT"
)
private String userName;
private String alias;

@Column(
name = "email",
Expand All @@ -62,11 +65,11 @@ public class AppUser implements UserDetails {
private String email;

@Column(
name = "password",
name = "avatar_url",
nullable = false,
columnDefinition = "TEXT"
)
private String password;
private String avatarUrl;


@Column(
Expand All @@ -83,14 +86,14 @@ public class AppUser implements UserDetails {
public AppUser(String name,
String userName,
String email,
String password,
String avatarUrl,
AppUserRole appUserRole,
Boolean locked,
Boolean enabled) {
this.name = name;
this.userName = userName;
this.alias = userName;
this.email = email;
this.password = password;
this.avatarUrl = avatarUrl;
this.appUserRole = appUserRole;
this.locked = locked;
this.enabled = enabled;
Expand All @@ -105,12 +108,12 @@ public Collection<? extends GrantedAuthority> getAuthorities() {

@Override
public String getPassword() {
return password;
return null;
}

@Override
public String getUsername() {
return userName;
return alias;
}

@Override
Expand Down
15 changes: 0 additions & 15 deletions src/main/java/de/bonndan/nivio/security/PasswordEncoder.java

This file was deleted.

42 changes: 22 additions & 20 deletions src/main/java/de/bonndan/nivio/security/SecurityConfig.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package de.bonndan.nivio.security;

import de.bonndan.nivio.appuser.AppUserService;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.security.oauth2.resource.PrincipalExtractor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
Expand All @@ -30,7 +30,6 @@
public class SecurityConfig extends WebSecurityConfigurerAdapter {

private final AppUserService appUserService;
private final BCryptPasswordEncoder bCryptPasswordEncoder;

public static final String LOGIN_MODE_REQUIRED = "required";
public static final String LOGIN_MODE_OPTIONAL = "optional";
Expand All @@ -44,9 +43,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {

private final AuthConfigProperties properties;

public SecurityConfig(AppUserService appUserService, BCryptPasswordEncoder bCryptPasswordEncoder, AuthConfigProperties properties) {
public SecurityConfig(AppUserService appUserService, AuthConfigProperties properties) {
this.appUserService = appUserService;
this.bCryptPasswordEncoder = bCryptPasswordEncoder;
this.properties = properties;
}

Expand Down Expand Up @@ -158,19 +156,23 @@ public void writeHeaders(HttpServletRequest request, HttpServletResponse respons

}


@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(daoAuthenticationProvider());
}

@Bean
public DaoAuthenticationProvider daoAuthenticationProvider() {
DaoAuthenticationProvider provider =
new DaoAuthenticationProvider();
provider.setPasswordEncoder(bCryptPasswordEncoder);
provider.setUserDetailsService(appUserService);

return provider;
}
}
// @Bean
// public PrincipalExtractor githubPrincipalExtractor() {
// return new GithubPrincipalExtractor();
// }
//
// @Override
// protected void configure(AuthenticationManagerBuilder auth) throws Exception {
// auth.authenticationProvider(daoAuthenticationProvider());
// }
//
// @Bean
// public DaoAuthenticationProvider daoAuthenticationProvider() {
// DaoAuthenticationProvider provider =
// new DaoAuthenticationProvider();
// provider.setUserDetailsService(appUserService);
//
// return provider;
// }

}
6 changes: 3 additions & 3 deletions src/main/resources/data/user.lock.db
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#FileLock
#Wed Jan 12 13:55:06 CET 2022
server=localhost\:60731
#Mon Jan 17 11:50:05 CET 2022
server=localhost\:63786
hostName=localhost
method=file
id=17e4e5b329af9f5f04f04ca0df6000cc4546139b105
id=17e67a88907a1f2058e2af25fc3d93fc44265973b37
Binary file modified src/main/resources/data/user.mv.db
Binary file not shown.
Loading

0 comments on commit a783f3b

Please sign in to comment.