Merge pull request #37 from imsglc/vc-add-clr

Vc add clr
This commit is contained in:
Markus Gylling 2022-08-08 13:47:32 +02:00 committed by GitHub
commit 2c3f639f62
5 changed files with 28 additions and 11 deletions

View File

@ -12,16 +12,6 @@
<dependency>
<groupId>org.1edtech</groupId>
<artifactId>inspector-core</artifactId>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>com.networknt</groupId>
<artifactId>json-schema-validator</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.auth0</groupId>

View File

@ -70,6 +70,8 @@ public class Credential extends GeneratedObject {
return Optional.of(Catalog.OB_30_VERIFIABLEPRESENTATION_JSON);
} else if(credentialType == Credential.Type.EndorsementCredential) {
return Optional.of(Catalog.OB_30_ENDORSEMENTCREDENTIAL_JSON);
} else if(credentialType == Credential.Type.ClrCredential) {
return Optional.of(Catalog.CLR_20_CLRCREDENTIAL_JSON);
}
return Optional.empty();
}
@ -77,6 +79,7 @@ public class Credential extends GeneratedObject {
public enum Type {
AchievementCredential,
OpenBadgeCredential, //treated as an alias of AchievementCredential
ClrCredential, //NOT a duplicate of OB this does not use an alias and we ONLY use 'ClrCredential' as the base type
EndorsementCredential,
VerifiablePresentation,
VerifiableCredential, //this is an underspecifier in our context
@ -89,6 +92,8 @@ public class Credential extends GeneratedObject {
String value = iter.next().asText();
if(value.equals("AchievementCredential") || value.equals("OpenBadgeCredential")) {
return AchievementCredential;
} else if(value.equals("ClrCredential")) {
return ClrCredential;
} else if(value.equals("VerifiablePresentation")) {
return VerifiablePresentation;
} else if(value.equals("EndorsementCredential")) {

View File

@ -0,0 +1,13 @@
package org.oneedtech.inspect.vc;
import java.util.Map;
import org.oneedtech.inspect.core.SubInspector;
import org.oneedtech.inspect.core.report.Report;
import org.oneedtech.inspect.util.resource.Resource;
public class EmbeddedVCInspector {
//TODO: @Miles Need to confirm with Markus, but this feels like an embedded inspector with some different rules (type, etc..) like endorsements
}

View File

@ -8,6 +8,7 @@ import org.oneedtech.inspect.core.probe.Probe;
import org.oneedtech.inspect.core.probe.RunContext;
import org.oneedtech.inspect.core.report.ReportItems;
import org.oneedtech.inspect.vc.Credential;
import org.oneedtech.inspect.vc.Credential.Type;
import org.oneedtech.inspect.vc.util.JsonNodeUtil;
import com.fasterxml.jackson.databind.JsonNode;
@ -43,6 +44,13 @@ public class TypePropertyProbe extends Probe<JsonNode> {
"The type property does not contain one of 'OpenBadgeCredential' or 'AchievementCredential'",
ctx);
}
}
if(expected == Credential.Type.ClrCredential){
if(!values.contains("ClrCredential")) {
return fatal(
"The type property does not contain the entry 'ClrCredential'",
ctx);
}
} else {
//TODO implement
throw new IllegalStateException();

View File

@ -29,6 +29,7 @@ public class Samples {
public static final class CLR20 {
public static final class JSON {
public final static Sample SIMPLE_JSON = new Sample("clr20/simple.json", true);
public final static Sample SIMPLE_JWT = new Sample("clr20/simple.jwt", true);
}
}
}