Skip to content

Commit 6c7f6cd

Browse files
authored
Merge pull request #251 from VAuthenticator/password-feature-related-repository-on-postgres
password feature on postgress
2 parents a55b792 + f90b76b commit 6c7f6cd

File tree

58 files changed

+470
-312
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+470
-312
lines changed

src/main/kotlin/com/vauthenticator/server/account/signup/SignUpEventConsumer.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package com.vauthenticator.server.account.signup
33
import com.vauthenticator.server.events.EventConsumer
44
import com.vauthenticator.server.events.SignUpEvent
55
import com.vauthenticator.server.events.VAuthenticatorEvent
6-
import com.vauthenticator.server.password.Password
7-
import com.vauthenticator.server.password.PasswordHistoryRepository
6+
import com.vauthenticator.server.password.domain.Password
7+
import com.vauthenticator.server.password.domain.PasswordHistoryRepository
88
import org.springframework.stereotype.Service
99

1010
@Service

src/main/kotlin/com/vauthenticator/server/account/signup/SignUpUse.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import com.vauthenticator.server.account.repository.AccountRepository
66
import com.vauthenticator.server.events.SignUpEvent
77
import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher
88
import com.vauthenticator.server.oauth2.clientapp.domain.ClientAppId
9-
import com.vauthenticator.server.password.Password
10-
import com.vauthenticator.server.password.PasswordPolicy
11-
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
9+
import com.vauthenticator.server.password.domain.Password
10+
import com.vauthenticator.server.password.domain.PasswordPolicy
11+
import com.vauthenticator.server.password.domain.VAuthenticatorPasswordEncoder
1212
import com.vauthenticator.server.role.domain.Role
1313
import java.time.Instant
1414

src/main/kotlin/com/vauthenticator/server/config/ChangePasswordConfig.kt

Lines changed: 0 additions & 22 deletions
This file was deleted.

src/main/kotlin/com/vauthenticator/server/config/ClientApplicationConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import com.vauthenticator.server.oauth2.clientapp.adapter.dynamodb.DynamoDbClien
99
import com.vauthenticator.server.oauth2.clientapp.domain.ClientApplicationRepository
1010
import com.vauthenticator.server.oauth2.clientapp.domain.ReadClientApplication
1111
import com.vauthenticator.server.oauth2.clientapp.domain.StoreClientApplication
12-
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
12+
import com.vauthenticator.server.password.domain.VAuthenticatorPasswordEncoder
1313
import org.springframework.beans.factory.annotation.Value
1414
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
1515
import org.springframework.context.annotation.Bean

src/main/kotlin/com/vauthenticator/server/config/EventsConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import com.vauthenticator.server.account.emailverification.SendVerifyEMailChalle
44
import com.vauthenticator.server.account.signup.SignUpEventConsumer
55
import com.vauthenticator.server.account.welcome.SendWelcomeMailUponSignUpEventConsumer
66
import com.vauthenticator.server.events.*
7-
import com.vauthenticator.server.password.changepassword.ChangePasswordEventConsumer
8-
import com.vauthenticator.server.password.resetpassword.ResetPasswordEventConsumer
7+
import com.vauthenticator.server.password.domain.changepassword.ChangePasswordEventConsumer
8+
import com.vauthenticator.server.password.domain.resetpassword.ResetPasswordEventConsumer
99
import org.springframework.context.ApplicationEventPublisher
1010
import org.springframework.context.annotation.Bean
1111
import org.springframework.context.annotation.Configuration

src/main/kotlin/com/vauthenticator/server/config/PasswordPolicyConfig.kt renamed to src/main/kotlin/com/vauthenticator/server/config/PasswordConfig.kt

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,31 @@
11
package com.vauthenticator.server.config
22

3-
import com.vauthenticator.server.password.*
3+
import com.vauthenticator.server.account.repository.AccountRepository
4+
import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher
5+
import com.vauthenticator.server.password.adapter.dynamodb.DynamoPasswordHistoryRepository
6+
import com.vauthenticator.server.password.domain.*
7+
import com.vauthenticator.server.password.domain.changepassword.ChangePassword
8+
import com.vauthenticator.server.password.domain.changepassword.ChangePasswordEventConsumer
9+
import com.vauthenticator.server.password.domain.resetpassword.ResetPasswordEventConsumer
410
import org.springframework.beans.factory.annotation.Value
11+
import org.springframework.boot.context.properties.ConfigurationProperties
512
import org.springframework.boot.context.properties.EnableConfigurationProperties
613
import org.springframework.context.annotation.Bean
714
import org.springframework.context.annotation.Configuration
815
import software.amazon.awssdk.services.dynamodb.DynamoDbClient
916
import java.time.Clock
1017

18+
@EnableConfigurationProperties(PasswordGeneratorCriteria::class, PasswordPolicyConfigProp::class)
1119
@Configuration(proxyBeanMethods = false)
12-
@EnableConfigurationProperties(PasswordPolicyConfigProp::class)
13-
class PasswordPolicyConfig {
20+
class PasswordConfig {
21+
22+
@Bean
23+
fun changePasswordEventConsumer(passwordHistoryRepository: PasswordHistoryRepository) =
24+
ChangePasswordEventConsumer(passwordHistoryRepository)
25+
26+
@Bean
27+
fun resetPasswordEventConsumer(passwordHistoryRepository: PasswordHistoryRepository) =
28+
ResetPasswordEventConsumer(passwordHistoryRepository)
1429

1530
@Bean
1631
fun passwordPolicy(
@@ -53,4 +68,24 @@ class PasswordPolicyConfig {
5368
dynamoPasswordHistoryTableName,
5469
dynamoDbClient
5570
)
56-
}
71+
72+
@Bean
73+
fun changePassword(
74+
eventsDispatcher: VAuthenticatorEventsDispatcher,
75+
passwordPolicy: PasswordPolicy,
76+
passwordEncoder: VAuthenticatorPasswordEncoder,
77+
accountRepository: AccountRepository
78+
) =
79+
ChangePassword(eventsDispatcher, passwordPolicy, passwordEncoder, accountRepository)
80+
81+
@Bean
82+
fun passwordGenerator(passwordGeneratorCriteria: PasswordGeneratorCriteria) =
83+
PasswordGenerator(passwordGeneratorCriteria)
84+
}
85+
86+
@ConfigurationProperties(prefix = "password.policy")
87+
data class PasswordPolicyConfigProp(
88+
val minSize: Int,
89+
val minSpecialSymbol: Int,
90+
val enablePasswordReusePrevention: Boolean
91+
)

src/main/kotlin/com/vauthenticator/server/config/PasswordGeneratorConfig.kt

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/main/kotlin/com/vauthenticator/server/config/ResetPasswordConfig.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ import com.vauthenticator.server.communication.domain.EMailType
1111
import com.vauthenticator.server.communication.domain.SimpleEMailMessageFactory
1212
import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher
1313
import com.vauthenticator.server.oauth2.clientapp.domain.ClientApplicationRepository
14-
import com.vauthenticator.server.password.PasswordPolicy
15-
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
16-
import com.vauthenticator.server.password.resetpassword.ResetAccountPassword
17-
import com.vauthenticator.server.password.resetpassword.SendResetPasswordMailChallenge
14+
import com.vauthenticator.server.password.domain.PasswordPolicy
15+
import com.vauthenticator.server.password.domain.VAuthenticatorPasswordEncoder
16+
import com.vauthenticator.server.password.domain.resetpassword.ResetAccountPassword
17+
import com.vauthenticator.server.password.domain.resetpassword.SendResetPasswordMailChallenge
1818
import com.vauthenticator.server.ticket.domain.TicketCreator
1919
import com.vauthenticator.server.ticket.domain.TicketRepository
2020
import org.springframework.beans.factory.annotation.Value

src/main/kotlin/com/vauthenticator/server/config/SingUpConfig.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import com.vauthenticator.server.account.repository.AccountRepository
44
import com.vauthenticator.server.account.signup.SignUpUse
55
import com.vauthenticator.server.events.VAuthenticatorEventsDispatcher
66
import com.vauthenticator.server.oauth2.clientapp.domain.ClientApplicationRepository
7-
import com.vauthenticator.server.password.PasswordPolicy
8-
import com.vauthenticator.server.password.VAuthenticatorPasswordEncoder
7+
import com.vauthenticator.server.password.domain.PasswordPolicy
8+
import com.vauthenticator.server.password.domain.VAuthenticatorPasswordEncoder
99
import org.springframework.context.annotation.Bean
1010
import org.springframework.context.annotation.Configuration
1111

src/main/kotlin/com/vauthenticator/server/config/WebSecurityConfig.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import com.vauthenticator.server.oauth2.clientapp.domain.ClientApplicationReposi
99
import com.vauthenticator.server.oauth2.clientapp.domain.Scope
1010
import com.vauthenticator.server.oidc.logout.ClearSessionStateLogoutHandler
1111
import com.vauthenticator.server.oidc.sessionmanagement.SessionManagementFactory
12-
import com.vauthenticator.server.password.BcryptVAuthenticatorPasswordEncoder
13-
import com.vauthenticator.server.password.changepassword.CHANGE_PASSWORD_URL
14-
import com.vauthenticator.server.password.changepassword.ChangePasswordLoginWorkflowHandler
12+
import com.vauthenticator.server.password.adapter.spring.BcryptVAuthenticatorPasswordEncoder
13+
import com.vauthenticator.server.password.domain.changepassword.CHANGE_PASSWORD_URL
14+
import com.vauthenticator.server.password.domain.changepassword.ChangePasswordLoginWorkflowHandler
1515
import org.slf4j.Logger
1616
import org.slf4j.LoggerFactory
1717
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty

0 commit comments

Comments
 (0)