Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge develop to master #606

Merged
merged 349 commits into from
Jan 11, 2023
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
349 commits
Select commit Hold shift + click to select a range
360e61f
Merge pull request #273 from wultra/issues/error-handling-cleanup
romanstrobl Jul 15, 2022
4d2964c
Fix #274: Refactor handling of activation flags during onboarding
romanstrobl Jul 15, 2022
3f01a1c
Use common methods in verification controller (#276)
saalistaja Jul 15, 2022
81030c8
Merge pull request #275 from wultra/issues/274-refactor-activation-fl…
romanstrobl Jul 15, 2022
d2cc62d
Fix #278: Invalid property key identity-verification.data-retention.h…
banterCZ Jul 18, 2022
295f083
Fix #281: Allow obtaining process status during activation
romanstrobl Jul 19, 2022
1114a74
Fix incorrect method
romanstrobl Jul 19, 2022
1877e86
Merge pull request #282 from wultra/issues/281-process-status-activation
romanstrobl Jul 19, 2022
2a395b4
Fix #285: Too small data type for reject reason
romanstrobl Jul 20, 2022
b46a6b5
Merge pull request #286 from wultra/issues/285-reject-reason-data-type
romanstrobl Jul 20, 2022
9712ba5
Fix #288: Separate error detail for process expiration
romanstrobl Jul 21, 2022
52ff2d9
Merge pull request #289 from wultra/issues/288-expiration-separate-re…
romanstrobl Jul 21, 2022
b26d530
Fix #290: DDL error in Oracle
romanstrobl Jul 21, 2022
cb4e24b
Merge pull request #291 from wultra/issues/290-oracle-ddl
romanstrobl Jul 22, 2022
3d342ab
Fix #292: Case sensitive sequence names in Oracle
romanstrobl Jul 22, 2022
f19f886
Merge pull request #293 from wultra/issues/292-case-sensitive-sequenc…
romanstrobl Jul 22, 2022
579127c
Fix #294: Do not expire processes in final states
romanstrobl Jul 22, 2022
358f941
Merge pull request #295 from wultra/issues/294-invalid-expiration
romanstrobl Jul 22, 2022
b42143b
Fix #297: Prepare mock Digital Onboarding Adapter (#298)
banterCZ Jul 27, 2022
7b91c8e
Fix #194: Fetch configuration endpoint
banterCZ Jul 29, 2022
81bd3d2
Fix #280: Implement REST client for Digital Onboarding Adapter (#287)
banterCZ Jul 29, 2022
3c5a4e0
Fix #302: SCA verification step must not leak information
banterCZ Aug 1, 2022
7134cdf
Merge pull request #301 from wultra/issues/194-configuration-endpoint
romanstrobl Aug 9, 2022
7d8e83f
Unify log messages for processes
romanstrobl Aug 9, 2022
2ef4049
Merge pull request #303 from wultra/issues/302-sca
romanstrobl Aug 9, 2022
cb26041
Fix #309: ORA-00932: inconsistent datatypes: expected - got CLOB
romanstrobl Aug 15, 2022
d93baca
Use VARCHAR for identification_data due to the fact that it is used f…
romanstrobl Aug 15, 2022
07d8a42
Merge pull request #310 from wultra/issues/309-clob
romanstrobl Aug 15, 2022
e9737e0
Fix #312: Missing @Transactional annotation for verifyOtpCode
romanstrobl Aug 15, 2022
9bc5fb5
Merge pull request #313 from wultra/issues/312-missing-transactional
romanstrobl Aug 15, 2022
0940e8f
Resolve #304: Introduce state machine approach (#187)
saalistaja Aug 18, 2022
0af1131
Fix #311: Improve detection of failed presence check (#315)
romanstrobl Aug 19, 2022
4055f14
Fix #299: Handle missing process ID before user lookup (#300)
banterCZ Aug 19, 2022
8656ea6
Fix #314: Unify @Transactional annotations
banterCZ Aug 22, 2022
ef88cc6
Merge pull request #316 from wultra/issues/314-transactional-annotation
banterCZ Aug 22, 2022
6172afb
Fix #320: Use fake OTP authentication in case user does not exist (#321)
banterCZ Aug 24, 2022
ce337c8
Fix #322: Process cancelation by user not recorded in DB (#323)
banterCZ Aug 25, 2022
c6b77ad
Fix #271: Split DB schema for onboarding (#324)
romanstrobl Aug 25, 2022
2cc38a0
Fix #325: OperationTemplateEntity equals uses generated id (#326)
banterCZ Aug 25, 2022
c8789b6
Fix #329: Iterate over the entrySet instead of the keySet (#330)
banterCZ Aug 26, 2022
3fb0829
Fix #296: Add timestamps for process, identity and OTP (#318)
romanstrobl Aug 29, 2022
57b0c4e
Fix #338: Fix generic warnings in tests (#339)
banterCZ Sep 1, 2022
ef47af5
Fix #336: Remove public modifier from JUnit5 tests (#337)
banterCZ Sep 1, 2022
495d514
Fix #334: Replace guava ImmutableList by Java API (#335)
banterCZ Sep 1, 2022
bb3fcef
Fix #327: Change machine states by scheduler (#331)
banterCZ Sep 1, 2022
d535786
Fix #340: Update h2 dependency to 2.1.212 (#341)
banterCZ Sep 1, 2022
66db2c9
Fix #342: PSQLException: Bad value for type long (#343)
banterCZ Sep 1, 2022
e591a3a
Fix #342: PSQLException: Bad value for type long (#344)
banterCZ Sep 1, 2022
ba719b6
Fix #346: Remove @Lob and @Type (#347)
banterCZ Sep 2, 2022
2ef39f9
Fix #349: Update to Spring Boot 2.6.11
banterCZ Sep 2, 2022
722dc38
Merge pull request #350 from wultra/issues/349-spring-boot-2.6.11
romanstrobl Sep 2, 2022
afa9b73
Add specific exception for activation OTP verification failure
romanstrobl Sep 5, 2022
d3d8491
Add error handler and response for OTP failure during activation
romanstrobl Sep 5, 2022
d7cd952
Add an exception for hard failure for activation using OTP
romanstrobl Sep 5, 2022
7203713
Fix issues found during code review
romanstrobl Sep 6, 2022
4037fb1
Fix #359: Add option to set AcceptInvalidSslCertificate for RestOnboa…
banterCZ Sep 6, 2022
7fd1b35
Merge pull request #358 from wultra/issues/261-otp-failure-handling-o…
romanstrobl Sep 6, 2022
9929ca8
Fix #269: Separate OTP failure handling by OTP type (#332)
romanstrobl Sep 6, 2022
a32c66f
Fix #348: Expired processes are not handled correctly (#357)
banterCZ Sep 8, 2022
7f23226
Fix #361: Add authentication for RestOnboardingAdapter (#362)
banterCZ Sep 8, 2022
6b57c70
Fix #366: Move logic from ClientEvaluationSyncTask to state machine (…
banterCZ Sep 19, 2022
0303554
Fix #368: Send headers to RestOnboardingAdapter (#369)
banterCZ Sep 19, 2022
3e97127
Fix #370: UnsatisfiedDependencyException: Error creating bean with na…
banterCZ Sep 19, 2022
f4d9d9e
Fix #373: Use response object for onboarding configuration
romanstrobl Sep 19, 2022
bdbe0f7
Fix #375: Change default expiration time for OTP
romanstrobl Sep 19, 2022
e11bed3
Fix #377: Remove onboarding resources from enrollment server
romanstrobl Sep 19, 2022
afed83f
Merge pull request #374 from wultra/issues/373-configuration-response…
romanstrobl Sep 20, 2022
bd4f7ac
Merge pull request #378 from wultra/issues/377-remove-resources-onboa…
romanstrobl Sep 20, 2022
3c89c0f
Merge pull request #376 from wultra/issues/375-change-otp-expiration-…
romanstrobl Sep 20, 2022
e158e05
Fix #354: Validate that user submitted correct ID documents (#364)
banterCZ Sep 20, 2022
3471ca3
Fix CleaningServiceTest after change of otp expiration in #375 (#379)
banterCZ Sep 20, 2022
6be80f6
Fix #380: Remove double quotes from sequence definition
romanstrobl Sep 20, 2022
542d612
Fix #382: String literals should not be duplicated (#383)
banterCZ Sep 21, 2022
f34445d
Merge pull request #381 from wultra/issues/380-remove-doublequotes-ddl
romanstrobl Sep 21, 2022
56fb202
Fix #272: Add blacklisted ID info to response from client evaluation …
romanstrobl Sep 22, 2022
45dc053
Fix typo
romanstrobl Sep 22, 2022
b9c1759
Merge pull request #386 from wultra/issues/272-blacklisted-id-client-…
romanstrobl Sep 22, 2022
2f07e4e
Fix #365: Unable to retry presence check init (#385)
banterCZ Sep 22, 2022
a5ad729
Fix #387: Missing parameters in consent approval request
romanstrobl Sep 22, 2022
18777cc
Merge pull request #388 from wultra/issues/387-missing-parameters
romanstrobl Sep 23, 2022
deb79ad
Fix #393: Cleanup error handling after application split
romanstrobl Sep 23, 2022
4440631
Remove onboarding specimen photo
romanstrobl Sep 23, 2022
962a096
Remove obsolete onboarding files from enrollment server
romanstrobl Sep 23, 2022
1ce5ee0
Fix #395: Rename enrollment-server-domain-model to enrollment-server-…
romanstrobl Sep 23, 2022
ae4ca17
Merge pull request #394 from wultra/issues/393-cleanup-error-handling
romanstrobl Sep 23, 2022
0b8462d
Merge pull request #396 from wultra/issues/395-rename-domain-model
romanstrobl Sep 23, 2022
8a2801a
Fix #391: Disallow approval of operations with onboarding flags (#392)
romanstrobl Sep 26, 2022
5c2575b
Fix #389: SCA passes even though iProov failed (#390)
banterCZ Sep 26, 2022
c513c59
Fix #397: Replace status OTP_VERIFICATION_PENDING by VERIFICATION_PEN…
banterCZ Sep 26, 2022
1dc5609
Fix #356: Remove workaround from initPresenceCheck for repeated initi…
banterCZ Sep 27, 2022
79b5ee2
Fix #400: Improve logging (#402)
banterCZ Sep 29, 2022
7090d16
Fix #404: Utility classes should not have public constructors (#405)
banterCZ Sep 29, 2022
fee7c55
Fix #351: Service for automatic cleanup of activations with failed on…
banterCZ Sep 29, 2022
8ddf3be
Fix #406: Switch REST onboarding provider logging to info
romanstrobl Sep 30, 2022
d515600
Merge pull request #407 from wultra/issues/406-logging-provider-info
romanstrobl Sep 30, 2022
0b7a063
Fix #351: ActivationCleaningService needs transaction for stream proc…
banterCZ Oct 3, 2022
3288278
Fix #401: Implement deprecation of the mobile app version (#409)
banterCZ Oct 3, 2022
a0f774f
Fix test (#412)
banterCZ Oct 3, 2022
c52f897
Fix #418: Allow serialization of ActivationOtpErrorResponse
romanstrobl Oct 5, 2022
ca851e1
Add Audit library dependency and its configuration (#416)
banterCZ Oct 6, 2022
010b458
Merge pull request #419 from wultra/issues/418-serialization-otp-erro…
romanstrobl Oct 6, 2022
94d8cc8
Audit onboarding process (#420)
banterCZ Oct 6, 2022
bd65e70
Audit OTP (#422)
banterCZ Oct 7, 2022
c8fcb96
Audit IdentityVerification (#421)
banterCZ Oct 7, 2022
dca5dfa
Audit Document (#423)
banterCZ Oct 7, 2022
e691f32
Fix #428: Remove explicit lombok version (#429)
banterCZ Oct 10, 2022
61fe566
Audit Activation (#424)
banterCZ Oct 10, 2022
e255b1b
Audit PresenceCheckProvider (#426)
banterCZ Oct 10, 2022
ea19423
Audit Provider (#425)
banterCZ Oct 10, 2022
424ccca
Audit DocumentVerificationProvider (#427)
banterCZ Oct 10, 2022
fe45aa3
Change selected audit messages to debug level (#430)
banterCZ Oct 10, 2022
f79e8a1
Set ownerId for jobs from identityVerification (#431)
banterCZ Oct 10, 2022
9ca99a5
Audit OTP type to distinguish messages (#433)
banterCZ Oct 10, 2022
9fedac4
Make AuditService constructor public (#434)
banterCZ Oct 10, 2022
3de59c0
Fix #432: Prepare project documentation for onboarding (#435)
romanstrobl Oct 11, 2022
331f344
Fix #437: Change path to document/init-sdk (#438)
banterCZ Oct 11, 2022
08dcb3d
Fix #413: A separate error code when ZenId is down (#436)
banterCZ Oct 11, 2022
f9cb90f
Add initial github action (#417)
banterCZ Oct 12, 2022
8f4f64a
Fix #414: A separate error code when iProov is down (#439)
banterCZ Oct 12, 2022
b6118d4
Fix #440: Improve dependency management of io.getlime.security (#441)
banterCZ Oct 13, 2022
0fe2a34
Fix #443: Introduce composite guard (#444)
banterCZ Oct 13, 2022
0323933
Fix #308: Fix the default mime type of the home page
petrdvorak Oct 13, 2022
605b5be
Fix #447: Do not set timestampFinished for DOCUMENT_VERIFICATION/ACCE…
banterCZ Oct 14, 2022
aed8eed
Fix #415: Implement locking mechanism for DB rows in enrollment-onboa…
romanstrobl Oct 14, 2022
6781a69
Merge pull request #446 from wultra/issues/308-mime
petrdvorak Oct 14, 2022
2a89221
new reusable builds (#450)
zcgandcomp Oct 16, 2022
265e231
Fix #451: Failing test testTerminateExpiredProcesses (#452)
romanstrobl Oct 17, 2022
21e5f87
Fix #454: Invalid lock name for document synchronization
romanstrobl Oct 18, 2022
643e580
Merge pull request #455 from wultra/issues/454-invalid-lock-name
romanstrobl Oct 18, 2022
733a779
Fix #355: Add precondition check before finishing onboarding (#445)
banterCZ Oct 18, 2022
5e40267
Fix #457: Add configuration for ZenID profile (#458)
banterCZ Oct 19, 2022
86c83dd
Fix #449: Cleaning task may not expire all records (#456)
banterCZ Oct 19, 2022
96c7086
Add TODO to PresenceCheckLimitService for #453 (#462)
banterCZ Oct 20, 2022
e14076a
Update PowerAuth stack dependencies
romanstrobl Oct 20, 2022
1f93116
Create dependabot.yml
petrdvorak Oct 20, 2022
a875f3e
Bump commons-text from 1.9 to 1.10.0
dependabot[bot] Oct 20, 2022
cc9f3c6
Bump shedlock-spring.version from 4.36.0 to 4.42.0
dependabot[bot] Oct 20, 2022
59f4d69
Bump maven-javadoc-plugin from 3.4.0 to 3.4.1
dependabot[bot] Oct 20, 2022
afefe47
Merge pull request #465 from wultra/dependabot/maven/org.apache.commo…
petrdvorak Oct 20, 2022
53a45cb
Merge pull request #469 from wultra/dependabot/maven/org.apache.maven…
petrdvorak Oct 20, 2022
263c9fe
Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0
dependabot[bot] Oct 20, 2022
c601d5d
Merge pull request #467 from wultra/dependabot/maven/shedlock-spring.…
petrdvorak Oct 20, 2022
80d6db4
Merge pull request #468 from wultra/dependabot/maven/org.apache.maven…
petrdvorak Oct 20, 2022
bd66854
Merge pull request #464 from wultra/issues/463-update-dependencies
romanstrobl Oct 21, 2022
b5d66cb
Fix #460: Configuration startup check (#461)
banterCZ Oct 21, 2022
f11e986
Fix #470: Activation flag at verification status (#471)
banterCZ Oct 21, 2022
aadcbdf
Fix #476: Improve logging (#477)
banterCZ Oct 24, 2022
f297897
Fix #478: InvalidRequestObjectException handler (#479)
banterCZ Oct 24, 2022
84a0035
wultra/tasklist#23 do not skip war deploy in case of jfrog (#473)
zcgandcomp Oct 24, 2022
0691099
Fix #472: Fail identity verification after failed OTP (#480)
banterCZ Oct 25, 2022
55255ff
Log process cleanup (#481)
banterCZ Oct 26, 2022
424d60b
Fix #475: OTP failed attempts counted for process (#482)
banterCZ Oct 31, 2022
bb4cf6c
Fix #459: Invalid PL/SQL procedure for creating audit tables
romanstrobl Nov 1, 2022
57a54f6
Add audit_param tables
romanstrobl Nov 1, 2022
26ca0fe
Merge pull request #486 from wultra/issues/459-pl-sql-error
romanstrobl Nov 2, 2022
b686dfa
Remove query parameter uploadSessionID (#488)
banterCZ Nov 2, 2022
fcd0a11
Set document-verification.verificationOnSubmitEnabled to false (#487)
banterCZ Nov 2, 2022
2ca9562
Fix #490: Document how to turn off version display in error page for …
romanstrobl Nov 3, 2022
979c461
Log document verification (#492)
banterCZ Nov 3, 2022
1011715
Merge pull request #491 from wultra/issues/490-documentation-tomcat-v…
romanstrobl Nov 3, 2022
ad40e52
Fix #484: Final document verification (#489)
banterCZ Nov 4, 2022
1a01c16
Fix #499: Change WultraMockDocumentVerificationProvider to sync (#500)
banterCZ Nov 7, 2022
215b3cf
Fix #494: Check that only one verification ID is present for accepted…
banterCZ Nov 8, 2022
e5b1683
Fix #504 correct distribution repo for maven (#505)
zcgandcomp Nov 8, 2022
dfbd957
Fix #496: Identity verification may not continue in case of provider …
banterCZ Nov 8, 2022
a021870
Fix #506: iProov get INVALID_TOKEN forever (#507)
banterCZ Nov 8, 2022
79bd110
Fix audit message (#508)
banterCZ Nov 8, 2022
3ee6eba
Fix #509: Make iProov frame parsing null-safe (#510)
banterCZ Nov 9, 2022
5693b16
Fix #516: Document may be verified twice
romanstrobl Nov 9, 2022
f13e7fd
Merge pull request #517 from wultra/issues/516-document-verified-twice
romanstrobl Nov 9, 2022
86a0ddb
Fix #522: Maximum number of presence check attempts is off by 1
romanstrobl Nov 11, 2022
538af0b
Merge pull request #523 from wultra/issues/522-presence-check-count-off
romanstrobl Nov 11, 2022
f634923
Fix #512: Invalid state when app gets closed during onboarding (#515)
banterCZ Nov 11, 2022
2d3a49c
Publish OpenAPI for message Inbox
romanstrobl Nov 14, 2022
12b34f1
Model cleanup for Inbox
romanstrobl Nov 14, 2022
e0aabb1
Remove e2e encryption for Inbox
romanstrobl Nov 14, 2022
3d19f6d
Remove parameters which are available from authentication
romanstrobl Nov 14, 2022
73fe62b
Fix #498: Suspicious filename records in table es_document_verificati…
banterCZ Nov 15, 2022
2f5f1e6
Fix #493: Publish Inbox API for Mobile Token
romanstrobl Nov 15, 2022
f2fad9a
Exclude message body in toString
romanstrobl Nov 15, 2022
cd4683c
Hide OpenApiAuthentication in REST API documentation
romanstrobl Nov 15, 2022
f74d50b
Fix issues found in code review
romanstrobl Nov 15, 2022
de50e3c
Merge pull request #526 from wultra/issues/493-inbox
romanstrobl Nov 15, 2022
cb23c97
Fix #521: Error when exceeding maximum attempts for presence check (#…
banterCZ Nov 15, 2022
1822119
Change configuration endpoint from GET to POST (#532)
banterCZ Nov 17, 2022
1d06ef5
Fix #524: Do not return document status from submit (#535)
banterCZ Nov 21, 2022
2d11e8c
Fix #529: Required documents should be configurable (#534)
banterCZ Nov 21, 2022
424d838
Fix #528: Revision of endpoint encryption (#531)
banterCZ Nov 21, 2022
478653e
Fix #518: Use constants for error detail in identity verification (#533)
banterCZ Nov 21, 2022
1ec88f0
Fix #537: Submit document to provider in sync mode (#538)
banterCZ Nov 21, 2022
a14be5e
Fix #513: Result investigateSamples is ignored (#536)
banterCZ Nov 21, 2022
ca9a0df
Fix #511: Investigate license issue with Zen ID provider (#541)
banterCZ Nov 22, 2022
2adffb9
Fix #542: Invalid column type on Oracle
romanstrobl Nov 22, 2022
7258d61
Merge pull request #543 from wultra/issues/542-invalid-column-type-or…
romanstrobl Nov 22, 2022
caf2e9f
Fix #539: Polish iProov provider (#540)
banterCZ Nov 23, 2022
fbf0183
Fix #544: Improve ZenId logging (#545)
banterCZ Nov 24, 2022
5fecdc4
Fix #547: Allow MFA token for inbox services
petrdvorak Nov 29, 2022
469f4dc
Merge pull request #548 from wultra/issues/547-inbox-mfa-token
petrdvorak Nov 30, 2022
6627a2d
Fix #549: Switch jakarta.validation imports to javax.validation (#550)
banterCZ Dec 1, 2022
5d4c8fa
Fix #552: Missing RequestBody annotation on inbox controller parameters
petrdvorak Dec 1, 2022
244dbc0
Merge pull request #553 from wultra/issues/552-inbox
petrdvorak Dec 1, 2022
1a761c6
Bump shedlock-spring.version from 4.42.0 to 4.43.0
dependabot[bot] Dec 5, 2022
06a543b
Merge pull request #554 from wultra/dependabot/maven/shedlock-spring.…
banterCZ Dec 5, 2022
2b2d469
Fix #555: Remove mandatory request object for services that do not ne…
petrdvorak Dec 6, 2022
f80ce08
Remove unused request class
petrdvorak Dec 6, 2022
beba8b1
Merge pull request #556 from wultra/issues/555-request
petrdvorak Dec 6, 2022
1bc5cb5
Fix #558: SMS does not respect accept-language
banterCZ Dec 8, 2022
b8c592d
Merge pull request #559 from wultra/issues/558-sms-accept-language
banterCZ Dec 8, 2022
5ced635
Fix #561: Update Spring Boot to 2.6.14
banterCZ Dec 9, 2022
1012d7c
Merge pull request #562 from wultra/issues/561-update-spring-boot
banterCZ Dec 9, 2022
b8f92ed
propagate secrets for maven test (#557)
zcgandcomp Dec 9, 2022
6b2e022
Fix #566: Change H2 dependency scope to test
banterCZ Dec 12, 2022
a41b24b
Merge pull request #567 from wultra/issues/566-h2-dependency-scope
banterCZ Dec 12, 2022
cd276ae
coverity reusable workflow
zcgandcomp Dec 12, 2022
2057227
Fix #569: Coverity - FB.DMI_RANDOM_USED_ONLY_ONCE
banterCZ Dec 13, 2022
89e8c01
Fix #571: Coverity - Dereference null return value in ZenidDocumentVe…
banterCZ Dec 13, 2022
8e88e9f
Fix #573: Coverity - Dereference null return value in MobileTokenConv…
banterCZ Dec 13, 2022
c3ff27c
Move dependabot.yml configuration file to root of .github directory
banterCZ Dec 13, 2022
d403bd2
Merge pull request #574 from wultra/issues/573-dereference-null
banterCZ Dec 13, 2022
7ef77ec
Merge pull request #575 from wultra/issues/move-dependabot
banterCZ Dec 13, 2022
7ae2464
Merge pull request #572 from wultra/issues/571-dereference-null
banterCZ Dec 13, 2022
2fd69c2
Merge pull request #570 from wultra/issues/569-coverity-random
banterCZ Dec 13, 2022
e3e70d1
Fix #577: Coverity - Dereference after null check at MobileTokenConve…
banterCZ Dec 14, 2022
5ea411c
Merge pull request #578 from wultra/issues/577-dereference-null
banterCZ Dec 14, 2022
59ccdd2
Fix #577: Coverity - Dereference after null check at MobileTokenConve…
banterCZ Dec 15, 2022
744a7cf
Fix #306: Implement approval UI extension payload (#307)
petrdvorak Dec 15, 2022
017b839
Fix #581: Set release version to 1.4.0
banterCZ Dec 20, 2022
7c55648
Added credentials and GPG keys for maven
zcgandcomp Dec 21, 2022
6bf963d
Added workflow for OWASP dependency check
zcgandcomp Dec 21, 2022
5b5743c
Merge pull request #589 from wultra/issues/job_credentials_for_deploy…
zcgandcomp Dec 22, 2022
948a75b
Fix #593: Reflect inbox API changes made in push server (#594)
petrdvorak Jan 2, 2023
69b2dc6
Fix #583: Update Wultra dependencies
banterCZ Dec 20, 2022
86e5e06
Merge pull request #587 from wultra/issues/583-update-wultra-dependen…
banterCZ Jan 5, 2023
723a487
Fix #584: Update dependencies
banterCZ Dec 20, 2022
a276637
Merge pull request #588 from wultra/issues/584-update-dependencies
banterCZ Jan 5, 2023
2c21b5a
Fix #597: Change maven-gpg-plugin to org.kohsuke:pgp-maven-plugin
banterCZ Jan 5, 2023
2fc1087
Merge pull request #599 from wultra/issues/597-pgp-maven-plugin
banterCZ Jan 5, 2023
2ba3cf2
Fix #595: Onboarding adapter POST /process/event (#598)
banterCZ Jan 9, 2023
7667d65
Fix #590: Add PostApprovalScreen to UI extension payload (#591)
banterCZ Jan 9, 2023
f3defe9
Fix #600: Store IP address and user-agent (#602)
banterCZ Jan 10, 2023
8d6957d
Add javadoc to OperationTemplateEntity#placeholder (#603)
banterCZ Jan 11, 2023
fe9ab94
Fix #604: Add FDS data to ProcessEventRequest (#605)
banterCZ Jan 11, 2023
b2ed040
Merge pull request #585 from wultra/issues/581-version-1.4.0
banterCZ Jan 11, 2023
4adbb29
Fix #607:Typo in owas-dependecy-check.yml
zcgandcomp Jan 11, 2023
39003e2
Fix #612: Update and unify SpringDoc dependencies
banterCZ Jan 11, 2023
cd5abbb
Merge pull request #613 from wultra/issues/612-update-SpringDoc
banterCZ Jan 11, 2023
eba5fba
Merge pull request #609 from wultra/issues/607_correct_workflow_file_…
zcgandcomp Jan 11, 2023
33fa4aa
Fix #608: Update Dockerfile (#611)
banterCZ Jan 11, 2023
2f3be69
Fix #614: Do not include FDS specifics in process finish even (#615)
banterCZ Jan 11, 2023
e137b76
Fix #616: Remove endpoint for soft update and forced update from REST…
banterCZ Jan 11, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
16 changes: 16 additions & 0 deletions .github/workflows/coverity-scan.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Run Coverity scan and upload results

on:
workflow_dispatch:
schedule:
- cron: '0 10 1 * *' # monthly


jobs:
coverity-scan:
uses: wultra/wultra-infrastructure/.github/workflows/coverity-scan.yml@develop
secrets: inherit
with:
project-name: ${{ github.event.repository.name }}
version: ${{ github.sha }}
description: ${{ github.ref }}
52 changes: 52 additions & 0 deletions .github/workflows/maven-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Deploy with Maven

on:
workflow_dispatch:
branches:
- 'develop'
- 'master'
- 'releases/*'
- 'test/ci'
inputs:
release_type:
type: choice
description: releasing to snapshot or release
default: snapshot
options:
- snapshot
- release
environment:
type: environment
default: internal-publish
description: internal or external repository
push:
branches:
- 'develop'
- 'test/ci'



jobs:
maven-deploy-push:
if: ${{ github.event_name == 'push' }}
name: Deploy to jfrog
uses: wultra/wultra-infrastructure/.github/workflows/maven-deploy.yml@develop
with:
environment: internal-publish
release_type: snapshot
secrets:
username: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
password: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}

maven-deploy-manual:
if: ${{ github.event_name == 'workflow_dispatch' }}
name: Deploy by parameter
uses: wultra/wultra-infrastructure/.github/workflows/maven-deploy.yml@develop
with:
environment: ${{ inputs.environment }}
release_type: ${{ inputs.release_type }}
secrets:
username: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
password: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
gpg_passphrase: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }}
gpg_key: ${{ secrets.OSSRH_GPG_SECRET_KEY }}
18 changes: 18 additions & 0 deletions .github/workflows/maven-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Test with Maven

on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/**'
pull_request:
branches:
- 'develop'
- 'master'
- 'releases/**'

jobs:
maven-tests:
uses: wultra/wultra-infrastructure/.github/workflows/maven-test.yml@develop
secrets: inherit
12 changes: 12 additions & 0 deletions .github/workflows/owasp-dependecy-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Run OWASP Dependency Check
on:
workflow_dispatch:

push:
branches:
- 'develop'

jobs:
owasp-check:
uses: wultra/wultra-infrastructure/.github/workflows/owasp-dependency-check.yml@develop
secrets: inherit
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@ dist/

### JRebel
rebel.xml

### Swagger
.swagger-codegen
.swagger-codegen-ignore
16 changes: 16 additions & 0 deletions .run/EnrollmentServerApplication.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="EnrollmentServerApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<option name="ACTIVE_PROFILES" value="dev" />
<envs>
<env name="JDBC_DATABASE_SCHEMA" value="powerauth" />
<env name="JDBC_DATABASE_USERNAME" value="powerauth" />
<env name="JDBC_DATABASE_PASSWORD" value="" />
</envs>
<module name="enrollment-server" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.wultra.app.enrollmentserver.EnrollmentServerApplication" />
<option name="VM_PARAMETERS" value="-Dserver.servlet.context-path=/enrollment-server -Dserver.port=8081" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
16 changes: 16 additions & 0 deletions .run/EnrollmentServerOnboardingApplication.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="EnrollmentServerOnboardingApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
<option name="ACTIVE_PROFILES" value="dev" />
<envs>
<env name="JDBC_DATABASE_SCHEMA" value="powerauth" />
<env name="JDBC_DATABASE_USERNAME" value="powerauth" />
<env name="JDBC_DATABASE_PASSWORD" value="" />
</envs>
<module name="enrollment-server-onboarding" />
<option name="SPRING_BOOT_MAIN_CLASS" value="com.wultra.app.onboardingserver.OnboardingServerApplication" />
<option name="VM_PARAMETERS" value="-Dserver.servlet.context-path=/enrollment-server-onboarding -Dserver.port=8083" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
</component>
25 changes: 25 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM tomcat:jdk11-adoptopenjdk-openj9
LABEL maintainer="petr@wultra.com"

# Prepare environment variables
ENV JAVA_HOME /opt/java/openjdk
ENV TOMCAT_HOME /usr/local/tomcat
ENV WAR_VERSION 1.4.0

# Clear root context
RUN rm -rf $TOMCAT_HOME/webapps/*

# Add valve for proxy with SSL termination
RUN sed -i 's/<\/Host>/<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto"\/><\/Host>/' $TOMCAT_HOME/conf/server.xml

# Deploy and run applications
COPY docker/enrollment-server.xml $TOMCAT_HOME/conf/Catalina/localhost/
COPY target/enrollment-server-$WAR_VERSION.war $TOMCAT_HOME/webapps/enrollment-server.war

# Create user tomcat and run Tomcat under this user
RUN groupadd -r tomcat
RUN useradd -r -g tomcat -d $TOMCAT_HOME -s /sbin/nologin tomcat
RUN chown -R tomcat:tomcat $TOMCAT_HOME

USER tomcat
CMD ["catalina.sh", "run"]
50 changes: 50 additions & 0 deletions docker/enrollment-server.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<Context>

<!-- Database Configuration - JDBC -->
<Parameter name="spring.datasource.url" value="${ENROLLMENT_SERVER_DATASOURCE_URL}"/>
<Parameter name="spring.datasource.username" value="${ENROLLMENT_SERVER_DATASOURCE_USERNAME}"/>
<Parameter name="spring.datasource.password" value="${ENROLLMENT_SERVER_DATASOURCE_PASSWORD}"/>
<Parameter name="spring.datasource.driver-class-name" value="${ENROLLMENT_SERVER_DATASOURCE_DRIVER}"/>
<Parameter name="spring.jpa.hibernate.ddl-auto" value="${ENROLLMENT_SERVER_JPA_DDL_AUTO}"/>

<!-- Configuration of Database Charset -->
<Parameter name="spring.jpa.properties.hibernate.connection.CharSet" value="${ENROLLMENT_SERVER_JPA_CHARSET}"/>
<Parameter name="spring.jpa.properties.hibernate.connection.characterEncoding" value="${ENROLLMENT_SERVER_JPA_CHARACTER_ENCODING}"/>
<Parameter name="spring.jpa.properties.hibernate.connection.useUnicode" value="${ENROLLMENT_SERVER_JPA_USE_UNICODE}"/>

<!-- Additional JPA Configuration -->
<Parameter name="spring.jpa.database-platform" value="${ENROLLMENT_SERVER_JPA_DATABASE_PLATFORM}"/>

<!-- Database Lock Timeout Configuration -->
<Parameter name="spring.jpa.properties.lock.timeout" value="${ENROLLMENT_SERVER_JPA_LOCK_TIMEOUT}"/>

<!-- Database Configuration - JNDI -->
<Parameter name="spring.datasource.jndi-name" value="${ENROLLMENT_SERVER_DATASOURCE_JNDI_NAME}"/>

<!-- JMX Configuration -->
<Parameter name="spring.jmx.enabled" value="${ENROLLMENT_SERVER_SPRING_JMX_ENABLED}"/>
<Parameter name="spring.jmx.default-domain" value="${ENROLLMENT_SERVER_SPRING_JMX_DEFAULT_DOMAIN}"/>

<!-- PowerAuth Service Configuration -->
<Parameter name="powerauth.service.url" value="${ENROLLMENT_SERVER_POWERAUTH_SERVICE_URL}"/>
<Parameter name="powerauth.service.security.clientToken" value="${ENROLLMENT_SERVER_SECURITY_CLIENT_TOKEN}"/>
<Parameter name="powerauth.service.security.clientSecret" value="${ENROLLMENT_SERVER_SECURITY_CLIENT_SECRET}"/>

<!-- PowerAuth Push Service Configuration -->
<Parameter name="powerauth.push.service.url" value="${ENROLLMENT_SERVER_PUSH_SERVER_URL}"/>

<!-- Enrollment Server Configuration -->
<Parameter name="enrollment-server.mtoken.enabled" value="${ENROLLMENT_SERVER_MTOKEN_ENABLED}"/>
<Parameter name="enrollment-server.inbox.enabled" value="${ENROLLMENT_SERVER_INBOX_ENABLED}"/>
<Parameter name="enrollment-server.activation-spawn.enabled" value="${ENROLLMENT_SERVER_ACTIVATION_SPAWN_ENABLED}"/>
<Parameter name="enrollment-server.mobile-application.ios.current-version" value="${ENROLLMENT_SERVER_MOBILE_APPLICATION_IOS_CURRENT_VERSION}"/>
<Parameter name="enrollment-server.mobile-application.ios.minimal-version" value="${ENROLLMENT_SERVER_MOBILE_APPLICATION_IOS_MINIMAL_VERSION}"/>
<Parameter name="enrollment-server.mobile-application.android.current-version" value="${ENROLLMENT_SERVER_MOBILE_APPLICATION_ANDROID_CURRENT_VERSION}"/>
<Parameter name="enrollment-server.mobile-application.android.minimal-version" value="${ENROLLMENT_SERVER_MOBILE_APPLICATION_ANDROID_MINIMAL_VERSION}"/>

<!-- Correlation HTTP Header Configuration -->
<Parameter name="powerauth.service.correlation-header.enabled" value="${ENROLLMENT_SERVER_CORRELATION_HEADER_ENABLED}"/>
<Parameter name="powerauth.service.correlation-header.name" value="${ENROLLMENT_SERVER_CORRELATION_HEADER_NAME}"/>
<Parameter name="powerauth.service.correlation-header.value.validation-regexp" value="${ENROLLMENT_SERVER_CORRELATION_HEADER_VALUE_VALIDATION_REGEXP}"/>
</Context>
27 changes: 27 additions & 0 deletions docker/env.list.tmp
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
ENROLLMENT_SERVER_POWERAUTH_SERVICE_URL=http://localhost:8080/powerauth-java-server/rest
ENROLLMENT_SERVER_SECURITY_CLIENT_TOKEN=
ENROLLMENT_SERVER_SECURITY_CLIENT_SECRET=
ENROLLMENT_SERVER_PUSH_SERVER_URL=
ENROLLMENT_SERVER_MTOKEN_ENABLED=true
ENROLLMENT_SERVER_INBOX_ENABLED=true
ENROLLMENT_SERVER_ACTIVATION_SPAWN_ENABLED=false
ENROLLMENT_SERVER_MOBILE_APPLICATION_IOS_CURRENT_VERSION=2.0.0
ENROLLMENT_SERVER_MOBILE_APPLICATION_IOS_MINIMAL_VERSION=1.5.4
ENROLLMENT_SERVER_MOBILE_APPLICATION_ANDROID_CURRENT_VERSION=1.5.4
ENROLLMENT_SERVER_MOBILE_APPLICATION_ANDROID_MINIMAL_VERSION=1.4.0
ENROLLMENT_SERVER_CORRELATION_HEADER_ENABLED=false
ENROLLMENT_SERVER_CORRELATION_HEADER_NAME=X-Correlation-ID
ENROLLMENT_SERVER_CORRELATION_HEADER_VALUE_VALIDATION_REGEXP=[a-zA-Z0-9\\-]{8,1024}
ENROLLMENT_SERVER_DATASOURCE_URL=
ENROLLMENT_SERVER_DATASOURCE_USERNAME=
ENROLLMENT_SERVER_DATASOURCE_PASSWORD=
ENROLLMENT_SERVER_DATASOURCE_DRIVER=
ENROLLMENT_SERVER_JPA_DDL_AUTO=
ENROLLMENT_SERVER_JPA_CHARSET=
ENROLLMENT_SERVER_JPA_CHARACTER_ENCODING=
ENROLLMENT_SERVER_JPA_USE_UNICODE=
ENROLLMENT_SERVER_JPA_DATABASE_PLATFORM=
ENROLLMENT_SERVER_JPA_LOCK_TIMEOUT=
ENROLLMENT_SERVER_DATASOURCE_JNDI_NAME=
ENROLLMENT_SERVER_SPRING_JMX_ENABLED=
ENROLLMENT_SERVER_SPRING_JMX_DEFAULT_DOMAIN=
22 changes: 22 additions & 0 deletions docs-private/Developer-How-To-Start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Developer - How to Start Guide


## Enrollment Server


### Standalone Run

- Enable maven profile `standalone`
- Use IntelliJ Idea run configuration at `../.run/EnrollmentServerApplication.run.xml`
- Open [http://localhost:8081/enrollment-server/actuator/health](http://localhost:8081/enrollment-server/actuator/health) and you should get `{"status":"UP"}`


## Enrollment Server Onboarding


### Standalone Run

- Enable maven profile `standalone`
- Use IntelliJ Idea run configuration at `../.run/EnrollmentServerOnboardingApplication.run.xml`
- Open [http://localhost:8083/enrollment-server-onboarding/actuator/health](http://localhost:8083/enrollment-server-onboarding/actuator/health) and you should get `{"status":"UP"}`

23 changes: 23 additions & 0 deletions docs-private/Integration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# External providers

## API schema
To update API schema use `https://editor.swagger.io/#/` to get the yaml version
1. File -> Import
2. File -> Save as YAML
3. Update the schema files in the `src/main/resources/api`

## Presence check providers

### iProov
The [iProov](https://www.iproov.com/) solution can be used for the presence check phase.

There has to be enabled per service feature to get the user's selfie from the verified person check.

[claim validation response](https://secure.iproov.me/docs.html#operation/userVerifyValidate)
- frame_available
```
Present and True if there is frame available for returning to the integrator.

Enabled on a per service provider basis. Contact support@iproov.com to request this functionality.
```
- the jpeg is base64 encoded with escaped slashes (https://stackoverflow.com/questions/1580647/json-why-are-forward-slashes-escaped)
28 changes: 28 additions & 0 deletions docs-private/Testing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Testing guidelines and approaches

## Integration tests on external services

There are prepared basic integration tests on external services. All such tests
are [tagged](https://junit.org/junit5/docs/current/user-guide/#writing-tests-tagging-and-filtering) with `external-service`.
None of these tests is run during a standard build by default. Run maven command with `-Dgroups="external-service"` to include
also all tests on external services.

Following subchapters list needed system variables to be defined before run of the tests.

### iProov

Following system variables need to be defined:
- IPROOV_API_KEY - api key value
- IPROOV_API_SECRET - api secret value
- IPROOV_ASSURANCE_TYPE - assurance type of the claim, accepts `genuine_presence` (default) or `liveness` values
- IPROOV_RISK_PROFILE - optional configuration of risk tolerance for an authentication attempt
- IPROOV_SERVICE_BASE_URL - e.g. `https://secure.iproov.me/api/v2`
- IPROOV_SERVICE_HOSTNAME - hostname value where the service runs, used in the `Host` header, e.g. `secure.iproov.me`

### ZenID

Following system variables need to be defined:
- ZENID_ASYNC_PROCESSING_ENABLED - allows asynchronous processing, accepts `true` or `false` values
- ZENID_NTLM_USERNAME - a username value for the ntlm authentication
- ZENID_NTLM_PASSWORD - a password value for the ntlm authentication
- ZENID_SERVICE_BASE_URL - hostname value where the service runs, used in the `Host` header, e.g. `secure.iproov.me`
51 changes: 51 additions & 0 deletions docs/Configuration-Properties.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Configuration Properties

The Enrollment Server uses the following public configuration properties:

## Database Configuration

| Property | Default | Note |
|---|---|---|
| `spring.datasource.url` | `_empty_` | Database JDBC URL |
| `spring.datasource.username` | `_empty_` | Database JDBC username |
| `spring.datasource.password` | `_empty_` | Database JDBC password |
| `spring.datasource.driver-class-name` | `_empty_` | Datasource JDBC class name |
| `spring.jpa.database-platform` | `_empty_` | Database dialect |
| `spring.jpa.hibernate.ddl-auto` | `none` | Configuration of automatic database schema creation |
| `spring.jpa.properties.hibernate.connection.characterEncoding` | `_empty_` | Character encoding |
| `spring.jpa.properties.hibernate.connection.useUnicode` | `_empty_` | Character encoding - Unicode support |

## PowerAuth Service Configuration

| Property | Default | Note |
|---|---|---|
| `powerauth.service.url` | `http://localhost:8080/powerauth-java-server/rest` | PowerAuth service REST API base URL. |
| `powerauth.service.security.clientToken` | `_empty_` | PowerAuth REST API authentication token. |
| `powerauth.service.security.clientSecret` | `_empty_` | PowerAuth REST API authentication secret / password. |

## PowerAuth Push Service Configuration

| Property | Default | Note |
|---|---|---|
| `powerauth.push.service.url` | `http://localhost:8080/powerauth-push-server` | PowerAuth Push service REST API base URL. |

## Enrollment Server Configuration

| Property | Default | Note |
|---|---|---|
| `enrollment-server.mtoken.enabled` | `true` | Publishing of Mobile Token endpoints can be enabled or disabled using this property. |
| `enrollment-server.inbox.enabled` | `true` | Publishing of Inbox endpoints can be enabled or disabled using this property. |
| `enrollment-server.activation-spawn.enabled` | `false` | The activation spawn functionality can be enabled or disabled using this property. |
| `enrollment-server.mobile-application.ios.current-version` | `2.0.0` | Current version of iOS mobile app. |
| `enrollment-server.mobile-application.ios.minimal-version` | `1.5.4` | Optional minimal version of iOS mobile app. |
| `enrollment-server.mobile-application.android.current-version` | `1.5.4` | Current version of Android mobile app. |
| `enrollment-server.mobile-application.android.minimal-version` | `1.4.0` | Optional minimal version of android mobile app. |

## Correlation HTTP Header Configuration

| Property | Default | Note |
|---|---|---|
| `powerauth.service.correlation-header.enabled` | `false` | Whether correlation header is enabled |
| `powerauth.service.correlation-header.name` | `X-Correlation-ID` | Correlation header name |
| `powerauth.service.correlation-header.value.validation-regexp` | `[a-zA-Z0-9\\-]{8,1024}` | Regular expression for correlation header value validation |
| `logging.pattern.console` | [See application.properties](https://github.com/wultra/enrollment-server/blob/develop/enrollment-server/src/main/resources/application.properties#L160) | Logging pattern for console which includes the correlation header value |
Loading