diff --git a/pom.xml b/pom.xml
index dbdad87d..55891598 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.yoti
yoti-sdk
pom
-
3.10.0-SNAPSHOT
+
4.0.0-SNAPSHOT
Yoti SDK
Java SDK for simple integration with the Yoti platform
https://github.com/getyoti/yoti-java-sdk
diff --git a/yoti-sdk-api/pom.xml b/yoti-sdk-api/pom.xml
index 6e69ea00..3909c6ad 100644
--- a/yoti-sdk-api/pom.xml
+++ b/yoti-sdk-api/pom.xml
@@ -11,7 +11,7 @@
com.yoti
yoti-sdk-parent
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
../yoti-sdk-parent
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/IdentityProfileSubjectPayload.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/IdentityProfileSubjectPayload.java
new file mode 100644
index 00000000..6eeceb9b
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/IdentityProfileSubjectPayload.java
@@ -0,0 +1,45 @@
+package com.yoti.api.client.docs.session.create;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class IdentityProfileSubjectPayload {
+
+ @JsonProperty("subject_id")
+ private final String subjectId;
+
+ IdentityProfileSubjectPayload(String subjectId) {
+ this.subjectId = subjectId;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public String getSubjectId() {
+ return subjectId;
+ }
+
+ public static class Builder {
+
+ private String subjectId;
+
+ Builder() {}
+
+ /**
+ * Sets the subject ID for the Identity Profile requirement
+ *
+ * @param subjectId the subject ID
+ * @return the builder
+ */
+ public Builder withSubjectId(String subjectId) {
+ this.subjectId = subjectId;
+ return this;
+ }
+
+ public IdentityProfileSubjectPayload build() {
+ return new IdentityProfileSubjectPayload(subjectId);
+ }
+
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/SessionSpec.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/SessionSpec.java
index b7a0a763..34318906 100644
--- a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/SessionSpec.java
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/SessionSpec.java
@@ -8,6 +8,7 @@
import com.yoti.api.client.docs.session.create.check.RequestedCheck;
import com.yoti.api.client.docs.session.create.filters.RequiredDocument;
import com.yoti.api.client.docs.session.create.identityprofile.advanced.AdvancedIdentityProfileRequirementsPayload;
+import com.yoti.api.client.docs.session.create.identityprofile.simple.IdentityProfileRequirementsPayload;
import com.yoti.api.client.docs.session.create.resources.ResourceCreationContainer;
import com.yoti.api.client.docs.session.create.task.RequestedTask;
@@ -55,13 +56,13 @@ public class SessionSpec {
private final IbvOptions ibvOptions;
@JsonProperty(Property.IDENTITY_PROFILE_REQUIREMENTS)
- private final Map
identityProfile;
+ private final IdentityProfileRequirementsPayload identityProfile;
@JsonProperty(Property.ADVANCED_IDENTITY_PROFILE_REQUIREMENTS)
private final AdvancedIdentityProfileRequirementsPayload advancedIdentityProfileRequirements;
@JsonProperty(Property.SUBJECT)
- private final Map subject;
+ private final IdentityProfileSubjectPayload subject;
@JsonProperty(Property.RESOURCES)
private final ResourceCreationContainer resources;
@@ -81,8 +82,8 @@ public class SessionSpec {
Boolean blockBiometricConsent,
IbvOptions ibvOptions,
ZonedDateTime sessionDeadline,
- Map identityProfile,
- Map subject,
+ IdentityProfileRequirementsPayload identityProfile,
+ IdentityProfileSubjectPayload subject,
ResourceCreationContainer resources,
Boolean createIdentityProfilePreview,
AdvancedIdentityProfileRequirementsPayload advancedIdentityProfileRequirements) {
@@ -223,7 +224,7 @@ public ZonedDateTime getSessionDeadline() {
*
* @return Identity Profile
*/
- public Object getIdentityProfile() {
+ public IdentityProfileRequirementsPayload getIdentityProfile() {
return identityProfile;
}
@@ -232,7 +233,7 @@ public Object getIdentityProfile() {
*
* @return subject
*/
- public Map getSubject() {
+ public IdentityProfileSubjectPayload getSubject() {
return subject;
}
@@ -277,9 +278,9 @@ public static class Builder {
private Boolean blockBiometricConsent;
private IbvOptions ibvOptions;
private ZonedDateTime sessionDeadline;
- private Map identityProfile;
+ private IdentityProfileRequirementsPayload identityProfile;
private AdvancedIdentityProfileRequirementsPayload advancedIdentityProfileRequirementsPayload;
- private Map subject;
+ private IdentityProfileSubjectPayload subject;
private ResourceCreationContainer resources;
private Boolean createIdentityProfilePreview;
@@ -428,7 +429,7 @@ public Builder withSessionDeadline(ZonedDateTime sessionDeadline) {
* @param identityProfile the Identity Profile
* @return the Builder
*/
- public Builder withIdentityProfile(Map identityProfile) {
+ public Builder withIdentityProfile(IdentityProfileRequirementsPayload identityProfile) {
this.identityProfile = identityProfile;
return this;
}
@@ -439,7 +440,7 @@ public Builder withIdentityProfile(Map identityProfile) {
* @param subject the subject
* @return the Builder
*/
- public Builder withSubject(Map subject) {
+ public Builder withSubject(IdentityProfileSubjectPayload subject) {
this.subject = subject;
return this;
}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileRequirementsPayload.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileRequirementsPayload.java
new file mode 100644
index 00000000..e75f454c
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileRequirementsPayload.java
@@ -0,0 +1,67 @@
+package com.yoti.api.client.docs.session.create.identityprofile.simple;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class IdentityProfileRequirementsPayload {
+
+ @JsonProperty("trust_framework")
+ private final String trustFramework;
+
+ @JsonProperty("scheme")
+ private final IdentityProfileSchemePayload scheme;
+
+ IdentityProfileRequirementsPayload(String trustFramework, IdentityProfileSchemePayload scheme) {
+ this.trustFramework = trustFramework;
+ this.scheme = scheme;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public String getTrustFramework() {
+ return trustFramework;
+ }
+
+ public IdentityProfileSchemePayload getScheme() {
+ return scheme;
+ }
+
+ public static class Builder {
+
+ private String trustFramework;
+ private IdentityProfileSchemePayload scheme;
+
+ Builder() {}
+
+ /**
+ * Sets the trust framework name for the Identity Profile requirement
+ *
+ * @param trustFramework the name of the trust framework
+ * @return the builder
+ */
+ public Builder withTrustFramework(String trustFramework) {
+ this.trustFramework = trustFramework;
+ return this;
+ }
+
+ /**
+ * Sets the scheme for the Identity Profile requirement
+ *
+ * @param scheme the scheme
+ * @return the builder
+ */
+ public Builder withScheme(IdentityProfileSchemePayload scheme) {
+ this.scheme = scheme;
+ return this;
+ }
+
+ public IdentityProfileRequirementsPayload build() {
+ return new IdentityProfileRequirementsPayload(trustFramework, scheme);
+ }
+
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileSchemePayload.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileSchemePayload.java
new file mode 100644
index 00000000..228173b1
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/identityprofile/simple/IdentityProfileSchemePayload.java
@@ -0,0 +1,67 @@
+package com.yoti.api.client.docs.session.create.identityprofile.simple;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class IdentityProfileSchemePayload {
+
+ @JsonProperty("type")
+ private final String type;
+
+ @JsonProperty("objective")
+ private final String objective;
+
+ IdentityProfileSchemePayload(String type, String objective) {
+ this.type = type;
+ this.objective = objective;
+ }
+
+ public static Builder builder() {
+ return new Builder();
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getObjective() {
+ return objective;
+ }
+
+ public static class Builder {
+
+ private String type;
+ private String objective;
+
+ Builder() {}
+
+ /**
+ * Sets the type of the scheme for the Identity Profile
+ *
+ * @param type the type of scheme
+ * @return the builder
+ */
+ public Builder withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Sets the objective of the scheme for the Identity Profile
+ *
+ * @param objective the objective of the scheme
+ * @return the builder
+ */
+ public Builder withObjective(String objective) {
+ this.objective = objective;
+ return this;
+ }
+
+ public IdentityProfileSchemePayload build() {
+ return new IdentityProfileSchemePayload(type, objective);
+ }
+
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileReportResponse.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileReportResponse.java
new file mode 100644
index 00000000..99cfc60f
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileReportResponse.java
@@ -0,0 +1,45 @@
+package com.yoti.api.client.docs.session.retrieve;
+
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class IdentityProfileReportResponse {
+
+ @JsonProperty("trust_framework")
+ private String trustFramework;
+
+ @JsonProperty("media")
+ private MediaResponse media;
+
+ @JsonProperty("schemes_compliance")
+ private List schemesCompliance;
+
+ /**
+ * The trust framework the report was generated for
+ *
+ * @return the trust framework
+ */
+ public String getTrustFramework() {
+ return trustFramework;
+ }
+
+ /**
+ * The media object containing the report
+ *
+ * @return the report media
+ */
+ public MediaResponse getMedia() {
+ return media;
+ }
+
+ /**
+ * The list of schemes used in the trust framework
+ *
+ * @return the list of schemes
+ */
+ public List getSchemesCompliance() {
+ return schemesCompliance;
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileResponse.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileResponse.java
index 896e5622..ba4b09d7 100644
--- a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileResponse.java
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileResponse.java
@@ -1,7 +1,5 @@
package com.yoti.api.client.docs.session.retrieve;
-import java.util.Map;
-
import com.fasterxml.jackson.annotation.JsonProperty;
public class IdentityProfileResponse {
@@ -16,7 +14,7 @@ public class IdentityProfileResponse {
private IdentityProfileFailureResponse failureReason;
@JsonProperty(Property.IDENTITY_PROFILE_REPORT)
- private Map identityProfileReport;
+ private IdentityProfileReportResponse identityProfileReport;
public String getSubjectId() {
return subjectId;
@@ -30,7 +28,7 @@ public IdentityProfileFailureResponse getFailureReason() {
return failureReason;
}
- public Map getIdentityProfileReport() {
+ public IdentityProfileReportResponse getIdentityProfileReport() {
return identityProfileReport;
}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeComplianceReportResponse.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeComplianceReportResponse.java
new file mode 100644
index 00000000..646886c9
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeComplianceReportResponse.java
@@ -0,0 +1,43 @@
+package com.yoti.api.client.docs.session.retrieve;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class IdentityProfileSchemeComplianceReportResponse {
+
+ @JsonProperty("scheme")
+ private IdentityProfileSchemeResponse scheme;
+
+ @JsonProperty("requirements_met")
+ private Boolean requirementsMet;
+
+ @JsonProperty("requirements_not_met_info")
+ private String requirementsNotMetInfo;
+
+ /**
+ * The Identity Profile scheme
+ *
+ * @return the scheme
+ */
+ public IdentityProfileSchemeResponse getScheme() {
+ return scheme;
+ }
+
+ /**
+ * Whether or not the requirements for the scheme were met
+ *
+ * @return boolean
+ */
+ public Boolean getRequirementsMet() {
+ return requirementsMet;
+ }
+
+ /**
+ * Information about why the requirements for the scheme were not met
+ *
+ * @return string
+ */
+ public String getRequirementsNotMetInfo() {
+ return requirementsNotMetInfo;
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeResponse.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeResponse.java
new file mode 100644
index 00000000..fe33fcee
--- /dev/null
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/retrieve/IdentityProfileSchemeResponse.java
@@ -0,0 +1,31 @@
+package com.yoti.api.client.docs.session.retrieve;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class IdentityProfileSchemeResponse {
+
+ @JsonProperty("type")
+ private String type;
+
+ @JsonProperty("objective")
+ private String objective;
+
+ /**
+ * The type of the scheme
+ *
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * The objective of the scheme
+ *
+ * @return the objective
+ */
+ public String getObjective() {
+ return objective;
+ }
+
+}
diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/spi/remote/call/YotiConstants.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/spi/remote/call/YotiConstants.java
index 19167112..ae1f6283 100644
--- a/yoti-sdk-api/src/main/java/com/yoti/api/client/spi/remote/call/YotiConstants.java
+++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/spi/remote/call/YotiConstants.java
@@ -29,7 +29,7 @@ private YotiConstants() {}
public static final String CONTENT_TYPE_JPEG = "image/jpeg";
public static final String JAVA = "Java";
- public static final String SDK_VERSION = JAVA + "-3.10.0-SNAPSHOT";
+ public static final String SDK_VERSION = JAVA + "-4.0.0-SNAPSHOT";
public static final String SIGNATURE_ALGORITHM = "SHA256withRSA";
public static final String ASYMMETRIC_CIPHER = "RSA/NONE/PKCS1Padding";
public static final String SYMMETRIC_CIPHER = "AES/CBC/PKCS7Padding";
diff --git a/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/SessionSpecTest.java b/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/SessionSpecTest.java
index d0bb1463..76d4bb39 100644
--- a/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/SessionSpecTest.java
+++ b/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/SessionSpecTest.java
@@ -1,10 +1,7 @@
package com.yoti.api.client.docs.session.create;
-import static com.yoti.api.client.spi.remote.call.YotiConstants.DEFAULT_CHARSET;
-
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.hasItems;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.instanceOf;
@@ -12,20 +9,15 @@
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
-import java.io.IOException;
import java.time.ZonedDateTime;
-import java.util.HashMap;
-import java.util.Map;
import com.yoti.api.client.docs.session.create.check.RequestedDocumentAuthenticityCheck;
import com.yoti.api.client.docs.session.create.check.RequestedLivenessCheck;
import com.yoti.api.client.docs.session.create.filters.RequiredDocument;
+import com.yoti.api.client.docs.session.create.identityprofile.simple.IdentityProfileRequirementsPayload;
import com.yoti.api.client.docs.session.create.resources.ResourceCreationContainer;
import com.yoti.api.client.docs.session.create.task.RequestedIdDocTextExtractionTask;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.hamcrest.Matchers;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
@@ -50,13 +42,13 @@ public class SessionSpecTest {
private static final String SOME_SDK_CONFIG_SUCCESS_URL = "https://yourdomain.com/some/success/endpoint";
private static final String SOME_SDK_CONFIG_ERROR_URL = "https://yourdomain.com/some/error/endpoint";
- private static final ObjectMapper MAPPER = new ObjectMapper();
-
@Mock RequiredDocument requiredDocumentMock;
@Mock IbvOptions ibvOptionsMock;
@Mock ZonedDateTime sessionDeadlineMock;
@Mock ResourceCreationContainer resourceCreationContainerMock;
@Mock ImportTokenPayload importTokenMock;
+ @Mock IdentityProfileRequirementsPayload identityProfileRequirementsPayloadMock;
+ @Mock IdentityProfileSubjectPayload identityProfileSubjectPayloadMock;
@Test
public void shouldBuildWithMinimalConfiguration() {
@@ -215,51 +207,21 @@ public void withSessionDeadline_shouldSetTheSessionDeadline() {
}
@Test
- public void shouldBuildWithIdentityProfileRequirements() throws IOException {
- Map scheme = new HashMap<>();
- scheme.put(IdentityProperty.TYPE, "A_TYPE");
- scheme.put(IdentityProperty.OBJECTIVE, "AN_OBJECTIVE");
-
- Map identityProfile = new HashMap<>();
- identityProfile.put(IdentityProperty.TRUST_FRAMEWORK, "A_FRAMEWORK");
- identityProfile.put(IdentityProperty.SCHEME, scheme);
-
- JsonNode json = toSessionSpecJson(identityProfile);
-
- assertThat(
- json.get(IdentityProperty.TRUST_FRAMEWORK).asText(),
- is(equalTo(identityProfile.get(IdentityProperty.TRUST_FRAMEWORK)))
- );
-
- JsonNode schemeJsonNode = json.get(IdentityProperty.SCHEME);
- assertThat(schemeJsonNode.get(IdentityProperty.TYPE).asText(), is(equalTo(scheme.get(IdentityProperty.TYPE))));
- assertThat(schemeJsonNode.get(IdentityProperty.OBJECTIVE).asText(), is(equalTo(scheme.get(IdentityProperty.OBJECTIVE))));
- }
-
- private static JsonNode toSessionSpecJson(Map obj) throws IOException {
- SessionSpec session = SessionSpec.builder()
- .withIdentityProfile(obj)
+ public void withIdentityProfile_shouldSetTheIdentityProfile() {
+ SessionSpec result = SessionSpec.builder()
+ .withIdentityProfile(identityProfileRequirementsPayloadMock)
.build();
- return MAPPER.readTree(MAPPER.writeValueAsString(session.getIdentityProfile()).getBytes(DEFAULT_CHARSET));
+ assertThat(result.getIdentityProfile(), is(identityProfileRequirementsPayloadMock));
}
@Test
- public void shouldBuildWithSubject() throws IOException {
- Map subject = new HashMap<>();
- subject.put(SubjectProperty.SUBJECT_ID, "A_SUBJECT_ID");
-
- SessionSpec session = SessionSpec.builder()
- .withSubject(subject)
+ public void withSubject_shouldSetTheSubject() {
+ SessionSpec result = SessionSpec.builder()
+ .withSubject(identityProfileSubjectPayloadMock)
.build();
- ObjectMapper mapper = new ObjectMapper();
-
- JsonNode json = mapper.readTree(
- mapper.writeValueAsString(session.getSubject()).getBytes(DEFAULT_CHARSET)
- );
-
- assertThat(json.get("subject_id").asText(), is(Matchers.equalTo(subject.get(SubjectProperty.SUBJECT_ID))));
+ assertThat(result.getSubject(), is(identityProfileSubjectPayloadMock));
}
@Test
@@ -289,23 +251,4 @@ public void shouldBuildWithImportToken() {
assertThat(sessionSpec.getImportToken(), is(importTokenMock));
}
- private static final class IdentityProperty {
-
- private static final String TYPE = "type";
- private static final String SCHEME = "scheme";
- private static final String OBJECTIVE = "objective";
- private static final String TRUST_FRAMEWORK = "trust_framework";
-
- private IdentityProperty() { }
-
- }
-
- private static final class SubjectProperty {
-
- private static final String SUBJECT_ID = "subject_id";
-
- private SubjectProperty() {}
-
- }
-
}
diff --git a/yoti-sdk-parent/pom.xml b/yoti-sdk-parent/pom.xml
index 6964c01e..34ba1320 100644
--- a/yoti-sdk-parent/pom.xml
+++ b/yoti-sdk-parent/pom.xml
@@ -5,7 +5,7 @@
com.yoti
yoti-sdk-parent
pom
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
Yoti SDK Parent Pom
Parent pom for the Java SDK projects
https://github.com/getyoti/yoti-java-sdk
diff --git a/yoti-sdk-sandbox/pom.xml b/yoti-sdk-sandbox/pom.xml
index 46d90c9e..078d0229 100644
--- a/yoti-sdk-sandbox/pom.xml
+++ b/yoti-sdk-sandbox/pom.xml
@@ -11,7 +11,7 @@
com.yoti
yoti-sdk-parent
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
../yoti-sdk-parent
diff --git a/yoti-sdk-spring-boot-auto-config/README.md b/yoti-sdk-spring-boot-auto-config/README.md
index e5a9ea6f..2d7f8864 100644
--- a/yoti-sdk-spring-boot-auto-config/README.md
+++ b/yoti-sdk-spring-boot-auto-config/README.md
@@ -18,7 +18,7 @@ If you are using Maven, you need to add the following dependencies:
com.yoti
yoti-sdk-spring-boot-auto-config
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
```
@@ -26,7 +26,7 @@ If you are using Maven, you need to add the following dependencies:
If you are using Gradle, here is the dependency to add:
```
-compile group: 'com.yoti', name: 'yoti-sdk-spring-boot-auto-config', version: '3.10.0-SNAPSHOT'
+compile group: 'com.yoti', name: 'yoti-sdk-spring-boot-auto-config', version: '4.0.0-SNAPSHOT'
```
diff --git a/yoti-sdk-spring-boot-auto-config/pom.xml b/yoti-sdk-spring-boot-auto-config/pom.xml
index 29e22ff8..afa28fb8 100644
--- a/yoti-sdk-spring-boot-auto-config/pom.xml
+++ b/yoti-sdk-spring-boot-auto-config/pom.xml
@@ -12,7 +12,7 @@
com.yoti
yoti-sdk-parent
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
../yoti-sdk-parent
diff --git a/yoti-sdk-spring-boot-example/README.md b/yoti-sdk-spring-boot-example/README.md
index fe99f823..75ec851c 100644
--- a/yoti-sdk-spring-boot-example/README.md
+++ b/yoti-sdk-spring-boot-example/README.md
@@ -17,7 +17,7 @@ Note that:
com.yoti
yoti-sdk-api
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
```
diff --git a/yoti-sdk-spring-boot-example/pom.xml b/yoti-sdk-spring-boot-example/pom.xml
index d55427eb..1364197b 100644
--- a/yoti-sdk-spring-boot-example/pom.xml
+++ b/yoti-sdk-spring-boot-example/pom.xml
@@ -6,7 +6,7 @@
com.yoti
yoti-sdk-spring-boot-example
Yoti Spring Boot Example
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
org.springframework.boot
diff --git a/yoti-sdk-spring-security/README.md b/yoti-sdk-spring-security/README.md
index 41267adb..f6fe0ca0 100644
--- a/yoti-sdk-spring-security/README.md
+++ b/yoti-sdk-spring-security/README.md
@@ -25,14 +25,14 @@ If you are using Maven, you need to add the following dependencies:
com.yoti
yoti-sdk-spring-security
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
```
If you are using Gradle, here is the dependency to add:
```
-compile group: 'com.yoti', name: 'yoti-sdk-spring-security', version: '3.10.0-SNAPSHOT'
+compile group: 'com.yoti', name: 'yoti-sdk-spring-security', version: '4.0.0-SNAPSHOT'
```
### Provide a `YotiClient` instance
diff --git a/yoti-sdk-spring-security/pom.xml b/yoti-sdk-spring-security/pom.xml
index 3dd5979e..a902565b 100644
--- a/yoti-sdk-spring-security/pom.xml
+++ b/yoti-sdk-spring-security/pom.xml
@@ -12,7 +12,7 @@
com.yoti
yoti-sdk-parent
- 3.10.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
../yoti-sdk-parent