Skip to content

Commit 860f838

Browse files
committed
Merge branch 'epic/cognito/develop' into epic/cognito/180-admin-reset-of-password-contains-special-characters
# Conflicts: # userdetails-gorm/src/test/groovy/au/org/ala/userdetails/gorm/PropertyControllerSpec.groovy # userdetails-plugin/grails-app/services/au/org/ala/userdetails/PasswordService.groovy
2 parents 42df06a + b4cee1f commit 860f838

File tree

259 files changed

+10018
-2639
lines changed

Some content is hidden

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

259 files changed

+10018
-2639
lines changed

Diff for: .travis.yml

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ branches:
1010
- grails3
1111
- experimental_jwt
1212
- /^feature.*$/
13+
- epic/cognito/userServiceRefactor&PasswordReset
14+
- epic/cognito/develop
15+
- epic/cognito/cleanup-2
16+
- epic/cognito/fix-asset-pipeline-issue
17+
- epic/cognito/openapi_fix
1318
before_cache:
1419
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
1520
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
@@ -21,7 +26,7 @@ cache:
2126
- $HOME/.gradle/wrapper/
2227

2328
after_success:
24-
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && travis_retry ./gradlew publish'
29+
- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && ./gradlew clean && travis_retry ./gradlew publish'
2530
env:
2631
global:
2732
- JAVA_TOOL_OPTIONS=-Dhttps.protocols=TLSv1.2

Diff for: README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ userdetails
44

55
## Note
66

7-
v2.0 of userdetails requires [ALA CAS 5](https://github.com/AtlasOfLivingAustralia/ala-cas-5)
7+
v4.0 of userdetails requires [ALA CAS 5](https://github.com/AtlasOfLivingAustralia/ala-cas-5) v6.6+ or AWS Cognito
88

99
## About
1010
The Atlas user management app (userdetails) manages profile information for users.
@@ -13,11 +13,15 @@ This application is the central repository for user information for Atlas system
1313

1414
Userdetails works hand in hand with [ALA CAS 5](https://github.com/AtlasOfLivingAustralia/ala-cas-5) and both share the same underlying database.
1515

16-
CAS manages the local authentication as well as third party auth provider integrtion.
16+
CAS manages the local authentication as well as third party auth provider integration.
1717

1818

1919
## General Information
2020

21+
### Builds
22+
23+
This project will build 3 artifacts, 2 concrete implementations of the user details app (userdetails-gorm for CAS and userdetails-cognito for AWS Cognito) and the userdetails-plugin that handles all commmon functions.
24+
2125
### Technologies
2226
* Grails framework: 3.2.11
2327
* JQuery

Diff for: build.gradle

+3-246
Original file line numberDiff line numberDiff line change
@@ -1,247 +1,4 @@
1-
//import static org.springframework.boot.gradle.SpringBootPluginExtension.LayoutType.*
2-
3-
buildscript {
4-
repositories {
5-
maven { url "https://nexus.ala.org.au/content/groups/public/" }
6-
maven { url "https://repo.grails.org/grails/core" }
7-
}
8-
dependencies {
9-
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
10-
classpath "gradle.plugin.com.github.erdi.webdriver-binaries:webdriver-binaries-gradle-plugin:2.6"
11-
classpath "org.grails.plugins:hibernate5:7.3.0"
12-
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:3.4.6"
13-
}
14-
}
15-
16-
plugins {
17-
id "com.gorylenko.gradle-git-properties" version "2.4.1"
18-
}
19-
20-
version "3.1.0-SNAPSHOT"
21-
group "au.org.ala"
22-
23-
apply plugin:"eclipse"
24-
apply plugin:"idea"
25-
apply plugin:"war"
26-
apply plugin:"org.grails.grails-web"
27-
apply plugin:"com.github.erdi.webdriver-binaries"
28-
apply plugin:"com.bertramlabs.asset-pipeline"
29-
apply plugin:"org.grails.grails-gsp"
30-
apply plugin:"maven-publish"
31-
32-
sourceCompatibility = 1.11
33-
targetCompatibility = 1.11
34-
35-
repositories {
36-
mavenLocal()
37-
maven { url "https://nexus.ala.org.au/content/groups/public/" }
38-
maven { url "https://repo.grails.org/grails/core" }
39-
mavenCentral()
40-
}
41-
42-
configurations {
43-
developmentOnly
44-
runtimeClasspath {
45-
extendsFrom developmentOnly
46-
}
47-
}
48-
49-
//grails {
50-
// plugins {
51-
// compile project(':openapi-plugin')
52-
// }
53-
//}
54-
55-
configurations.all {
56-
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
57-
}
58-
59-
dependencies {
60-
developmentOnly("org.springframework.boot:spring-boot-devtools")
61-
compileOnly "io.micronaut:micronaut-inject-groovy"
62-
console "org.grails:grails-console"
63-
implementation "org.springframework.boot:spring-boot-starter-logging"
64-
implementation "org.springframework.boot:spring-boot-starter-validation"
65-
implementation "org.springframework.boot:spring-boot-autoconfigure"
66-
implementation "org.grails:grails-core"
67-
implementation "org.springframework.boot:spring-boot-starter-actuator"
68-
implementation "org.springframework.boot:spring-boot-starter-tomcat"
69-
implementation "org.grails:grails-web-boot"
70-
implementation "org.grails:grails-logging"
71-
implementation "org.grails:grails-plugin-rest"
72-
implementation "org.grails:grails-plugin-databinding"
73-
implementation "org.grails:grails-plugin-i18n"
74-
implementation "org.grails:grails-plugin-services"
75-
implementation "org.grails:grails-plugin-url-mappings"
76-
implementation "org.grails:grails-plugin-interceptors"
77-
implementation "org.grails.plugins:cache"
78-
implementation "org.grails.plugins:async"
79-
implementation "org.grails.plugins:scaffolding"
80-
implementation "org.grails.plugins:events"
81-
implementation "org.grails.plugins:hibernate5"
82-
implementation "org.hibernate:hibernate-core:5.6.9.Final"
83-
implementation "org.hibernate:hibernate-jcache"
84-
runtimeOnly 'org.ehcache:ehcache'
85-
implementation "org.grails.plugins:gsp"
86-
profile "org.grails.profiles:web"
87-
runtimeOnly "org.glassfish.web:el-impl:2.2.1-b05"
88-
// runtimeOnly "com.h2database:h2"
89-
// runtimeOnly "org.apache.tomcat:tomcat-jdbc"
90-
runtimeOnly "javax.xml.bind:jaxb-api:2.3.1"
91-
runtimeOnly "com.bertramlabs.plugins:asset-pipeline-grails:3.4.6"
92-
testImplementation "io.micronaut:micronaut-inject-groovy"
93-
testImplementation "org.grails:grails-gorm-testing-support"
94-
testImplementation "org.mockito:mockito-core"
95-
testImplementation "org.grails:grails-web-testing-support"
96-
testImplementation "org.grails.plugins:geb"
97-
testImplementation "org.seleniumhq.selenium:selenium-remote-driver:4.0.0"
98-
testImplementation "org.seleniumhq.selenium:selenium-api:4.0.0"
99-
testImplementation "org.seleniumhq.selenium:selenium-support:4.0.0"
100-
testRuntimeOnly "org.seleniumhq.selenium:selenium-chrome-driver:4.0.0"
101-
testRuntimeOnly "org.seleniumhq.selenium:selenium-firefox-driver:4.0.0"
102-
103-
// Groovy backwards compat
104-
runtimeOnly 'org.codehaus.groovy:groovy-dateutil'
105-
106-
// Grails plugin dependencies
107-
108-
implementation "org.grails.plugins:ala-bootstrap3:4.1.0"
109-
implementation "org.grails.plugins:ala-ws-plugin:3.1.1"
110-
implementation "org.grails.plugins:ala-ws-security-plugin:4.1.1"
111-
implementation "org.grails.plugins:ala-auth:5.1.1"
112-
implementation "org.grails.plugins:ala-admin-plugin:2.3.0"
113-
114-
implementation 'dk.glasius:external-config:3.1.0'
115-
implementation 'org.grails.plugins:http-builder-helper:1.1.0'
116-
implementation "org.grails.plugins:csv:1.0.1"
117-
implementation 'org.grails.plugins:mail:3.0.0'
118-
119-
implementation "org.grails.plugins:oauth:4.0.0"
120-
// transitive oauth plugin deps used in code
121-
implementation "com.github.scribejava:scribejava-core:4.0.0"
122-
implementation "com.github.scribejava:scribejava-apis:4.0.0"
123-
124-
implementation "domurtag.plugins:grails-simple-captcha:1.0.0-grails3"
125-
implementation "org.grails.plugins:export:2.0.0"
126-
implementation 'org.grails.plugins:grails-markdown:3.0.0'
127-
128-
// regular JAR dependencies
129-
130-
implementation 'com.zaxxer:HikariCP:5.0.1'
131-
implementation 'mysql:mysql-connector-java:8.0.29'
132-
testRuntimeOnly "com.h2database:h2"
133-
implementation 'com.google.guava:guava:21.0'
134-
implementation 'org.apache.httpcomponents:httpcore:4.3.3'
135-
implementation 'org.apache.httpcomponents:httpclient:4.3.3'
136-
implementation 'org.apache.httpcomponents:httpmime:4.3.3'
137-
implementation 'org.apache.commons:commons-lang3:3.12.0'
138-
implementation 'commons-io:commons-io:2.6'
139-
implementation 'commons-beanutils:commons-beanutils:1.8.3'
140-
implementation 'org.mindrot:jbcrypt:0.4'
141-
implementation 'com.opencsv:opencsv:5.5.2'
142-
143-
implementation 'org.springframework.session:spring-session-data-mongodb'
144-
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
145-
implementation 'org.grails.plugins:spring-session-helper:2.0.1'
146-
implementation 'org.mongodb:mongodb-driver-sync:4.6.0' // versions mismatch as transitive deps for
147-
implementation 'org.mongodb:mongodb-driver-core:4.6.0'
148-
implementation 'org.mongodb:bson:4.6.0'
149-
150-
// implementation "com.auth0:java-jwt:3.18.2"
151-
// implementation "com.auth0:jwks-rsa:0.20.0"
152-
153-
// Spring Security to secure actuator endpoints
154-
// TODO Upgrade or decommission boot admin
155-
// compile 'de.codecentric:spring-boot-admin-starter-client:2.6.2'
156-
// compile 'org.springframework.boot:spring-boot-starter-security'
157-
// compile 'org.springframework.security:spring-security-web'
158-
159-
implementation('org.webjars.bower:chosen:1.8.3')
160-
implementation('org.webjars.bower:chosen-bootstrap:1.1.0') {
161-
exclude module: 'jquery' // dependency from skin
162-
exclude module: 'bootstrap' // dependency from skin
163-
}
164-
165-
implementation 'org.passay:passay:1.6.0'
166-
167-
implementation('au.org.ala.plugins:openapi:1.1.0')
168-
169-
testImplementation('com.squareup.retrofit2:retrofit-mock:2.9.0')
170-
}
171-
172-
springBoot {
173-
buildInfo()
174-
}
175-
176-
bootRun {
177-
ignoreExitValue true
178-
jvmArgs(
179-
'-Dspring.output.ansi.enabled=always',
180-
'-noverify',
181-
'-XX:TieredStopAtLevel=1',
182-
'-Xmx1024m')
183-
sourceResources sourceSets.main
184-
String springProfilesActive = 'spring.profiles.active'
185-
systemProperty springProfilesActive, System.getProperty(springProfilesActive)
186-
}
187-
188-
bootWar {
189-
launchScript()
190-
classifier = 'exec'
191-
}
192-
193-
tasks.withType(GroovyCompile) {
194-
configure(groovyOptions) {
195-
forkOptions.jvmArgs = ['-Xmx1024m']
196-
}
197-
}
198-
199-
tasks.withType(Test) {
200-
useJUnitPlatform()
201-
}
202-
203-
webdriverBinaries {
204-
if (!System.getenv().containsKey('GITHUB_ACTIONS')) {
205-
chromedriver {
206-
version = '2.45.0'
207-
fallbackTo32Bit = true
208-
}
209-
geckodriver '0.30.0'
210-
}
211-
}
212-
213-
tasks.withType(Test) {
214-
systemProperty "geb.env", System.getProperty('geb.env')
215-
systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
216-
if (!System.getenv().containsKey('GITHUB_ACTIONS')) {
217-
systemProperty 'webdriver.chrome.driver', System.getProperty('webdriver.chrome.driver')
218-
systemProperty 'webdriver.gecko.driver', System.getProperty('webdriver.gecko.driver')
219-
} else {
220-
systemProperty 'webdriver.chrome.driver', "${System.getenv('CHROMEWEBDRIVER')}/chromedriver"
221-
systemProperty 'webdriver.gecko.driver', "${System.getenv('GECKOWEBDRIVER')}/geckodriver"
222-
}
223-
}
224-
225-
226-
assets {
227-
minifyJs = true
228-
minifyCss = true
229-
}
230-
231-
publishing {
232-
repositories {
233-
maven {
234-
name 'Nexus'
235-
url "https://nexus.ala.org.au/content/repositories/${project.version.endsWith('-SNAPSHOT') ? 'snapshots' : 'releases' }"
236-
credentials {
237-
username = System.getenv('TRAVIS_DEPLOY_USERNAME')
238-
password = System.getenv('TRAVIS_DEPLOY_PASSWORD')
239-
}
240-
}
241-
}
242-
publications {
243-
mavenJar(MavenPublication) {
244-
artifact bootWar
245-
}
246-
}
1+
subprojects {
2+
version=projectVersion
3+
group="au.org.ala"
2474
}

Diff for: gradle.properties

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
grailsVersion=5.2.1
2-
grailsGradlePluginVersion=5.2.1
3-
groovyVersion=3.0.11
4-
gorm.version=7.3.2
1+
projectVersion=4.0.0-SNAPSHOT
2+
53
org.gradle.daemon=true
64
org.gradle.parallel=true
7-
org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx1024M
5+
org.gradle.jvmargs=-Dfile.encoding=UTF-8 -Xmx1024M

0 commit comments

Comments
 (0)