Skip to content

Commit f0d8afb

Browse files
authored
Merge pull request #297 from holashchand/environment-fix
Fixed signature v2 environment variables
2 parents 2244712 + 32ac0d2 commit f0d8afb

6 files changed

Lines changed: 41 additions & 41 deletions

File tree

docker-compose-v1.yml

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -75,23 +75,8 @@ services:
7575
- sunbird_sso_admin_client_secret=${KEYCLOAK_SECRET}
7676
- claims_enabled=${CLAIMS_ENABLED-false}
7777
- claims_url=http://claim-ms:8082
78-
- did_enabled=${DID_ENABLED-false}
79-
- did_health_check_url=${DID_HEALTH_CHECK_URL-http://identity:3332/health}
80-
- did_generate_url=${DID_GENERATE_URL-http://identity:3332/did/generate}
81-
- did_resolve_url=${DID_RESOLVE_URL-http://identity:3332/did/resolve}
8278
- signature_enabled=${SIGNATURE_ENABLED-false}
8379
- signature_provider=${SIGNATURE_PROVIDER-dev.sunbirdrc.registry.service.impl.SignatureV1ServiceImpl}
84-
- signature_v2_health_check_url=${SIGNATURE_V2_HEALTH_CHECK_URL-http://credential:3000/health}
85-
- signature_v2_issue_url=${SIGNATURE_V2_ISSUE_URL-http://credential:3000/credentials/issue}
86-
- signature_v2_get_url=${SIGNATURE_V2_GET_URL-http://credential:3000/credentials/{id}}
87-
- signature_v2_delete_url=${SIGNATURE_V2_DELETE_URL-http://credential:3000/credentials/{id}}
88-
- signature_v2_verify_url=${SIGNATURE_V2_VERIFY_URL-http://credential:3000/credentials/{id}/verify}
89-
- signature_v2_revocation_list_url=${SIGNATURE_V2_REVOCATION_LIST_URL-http://credential:3000/credentials/revocation-list?issuerId={issuerDid}&page={page}&limit={limit}}
90-
- signature_v2_schema_health_check_url=${SIGNATURE_V2_SCHEMA_HEALTH_CHECK_URL-http://schema:3333/health}
91-
- signature_v2_schema_create_url=${SIGNATURE_V2_SCHEMA_CREATE_URL-http://schema:3333/credential-schema}
92-
- signature_v2_schema_update_url=${SIGNATURE_V2_SCHEMA_UPDATE_URL-http://schema:3333/credential-schema/{id}/{version}}
93-
- signature_v2_schema_get_by_id_and_version_url=${SIGNATURE_V2_SCHEMA_GET_BY_ID_AND_VERSION_URL-http://schema:3333/credential-schema/{id}/{version}
94-
- signature_v2_schema_search_by_tags_url=${SIGNATURE_V2_SCHEMA_GET_BY_TAGS_URL-http://schema:3333/credential-schema?tags={tags}}
9580
- sign_url=http://certificate-signer:8079/sign
9681
- verify_url=http://certificate-signer:8079/verify
9782
- sign_health_check_url=http://certificate-signer:8079/health

docker-compose.yml

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,26 @@ services:
7676
- claims_enabled=${CLAIMS_ENABLED-false}
7777
- claims_url=http://claim-ms:8082
7878
- did_enabled=${DID_ENABLED-false}
79-
- did_health_check_url=${DID_HEALTH_CHECK_URL-http://identity:3332/health}
80-
- did_generate_url=${DID_GENERATE_URL-http://identity:3332/did/generate}
81-
- did_resolve_url=${DID_RESOLVE_URL-http://identity:3332/did/resolve}
79+
- did_health_check_url=http://identity:3332/health
80+
- did_generate_url=http://identity:3332/did/generate
81+
- did_resolve_url=http://identity:3332/did/resolve/{id}
8282
- signature_enabled=${SIGNATURE_ENABLED-false}
8383
- signature_provider=${SIGNATURE_PROVIDER-dev.sunbirdrc.registry.service.impl.SignatureV2ServiceImpl}
84-
- signature_v2_health_check_url=${SIGNATURE_V2_HEALTH_CHECK_URL-http://credential:3000/health}
85-
- signature_v2_issue_url=${SIGNATURE_V2_ISSUE_URL-http://credential:3000/credentials/issue}
86-
- signature_v2_get_url=${SIGNATURE_V2_GET_URL-http://credential:3000/credentials/{id}}
87-
- signature_v2_delete_url=${SIGNATURE_V2_DELETE_URL-http://credential:3000/credentials/{id}}
88-
- signature_v2_verify_url=${SIGNATURE_V2_VERIFY_URL-http://credential:3000/credentials/{id}/verify}
89-
- signature_v2_revocation_list_url=${SIGNATURE_V2_REVOCATION_LIST_URL-http://credential:3000/credentials/revocation-list?issuerId={issuerDid}&page={page}&limit={limit}}
90-
- signature_v2_schema_health_check_url=${SIGNATURE_V2_SCHEMA_HEALTH_CHECK_URL-http://credential-schema:3333/health}
91-
- signature_v2_schema_create_url=${SIGNATURE_V2_SCHEMA_CREATE_URL-http://credential-schema:3333/credential-schema}
92-
- signature_v2_schema_update_url=${SIGNATURE_V2_SCHEMA_UPDATE_URL-http://credential-schema:3333/credential-schema/{id}/{version}}
93-
- signature_v2_schema_get_by_id_and_version_url=${SIGNATURE_V2_SCHEMA_GET_BY_ID_AND_VERSION_URL-http://credential-schema:3333/credential-schema/{id}/{version}
94-
- signature_v2_schema_search_by_tags_url=${SIGNATURE_V2_SCHEMA_GET_BY_TAGS_URL-http://credential-schema:3333/credential-schema?tags={tags}}
84+
- signature_v2_credential_did_method=rcw
85+
- signature_v2_issuer_did_method=issuer
86+
- signature_v2_schema_author=Registry
87+
- signature_v2_schema_author_did_method=author
88+
- signature_v2_health_check_url=http://credential:3000/health
89+
- signature_v2_issue_url=http://credential:3000/credentials/issue
90+
- signature_v2_get_url=http://credential:3000/credentials/{id}
91+
- signature_v2_delete_url=http://credential:3000/credentials/{id}
92+
- signature_v2_verify_url=http://credential:3000/credentials/{id}/verify
93+
- signature_v2_revocation_list_url=http://credential:3000/credentials/revocation-list?issuerId={issuerDid}&page={page}&limit={limit}
94+
- signature_v2_schema_health_check_url=http://credential-schema:3333/health
95+
- signature_v2_schema_create_url=http://credential-schema:3333/credential-schema
96+
- signature_v2_schema_update_url=http://credential-schema:3333/credential-schema/{id}/{version}
97+
- signature_v2_schema_get_by_id_and_version_url=http://credential-schema:3333/credential-schema/{id}/{version}
98+
- signature_v2_schema_search_by_tags_url=http://credential-schema:3333/credential-schema?tags={tags}
9599
- sign_url=http://certificate-signer:8079/sign
96100
- verify_url=http://certificate-signer:8079/verify
97101
- sign_health_check_url=http://certificate-signer:8079/health

java/registry/src/main/java/dev/sunbirdrc/registry/service/CredentialSchemaService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,14 @@ public class CredentialSchemaService implements HealthIndicator {
4646
private String getByTagsUrl;
4747

4848
@Autowired(required = false)
49-
dev.sunbirdrc.registry.service.DIDService DIDService;
49+
private DIDService didService;
5050
@Autowired
5151
IDefinitionsManager definitionsManager;
5252

53-
private static final String authorName = "Registry";
54-
private static final String authorDidMethod = "abc";
53+
@Value("${signature.v2.schema.author}")
54+
private String authorName;
55+
@Value("${signature.v2.schema.authorDidMethod}")
56+
private String authorDidMethod;
5557

5658
@Autowired
5759
private RetryRestTemplate retryRestTemplate;
@@ -111,7 +113,7 @@ public void ensureCredentialSchema(String title, Object credTemplate, String sta
111113
logger.debug("Ensuring credential schema for {}", title);
112114
JsonNode schema = convertCredentialTemplateToSchema(title, credTemplate);
113115
ObjectNode prevSchema = (ObjectNode) getLatestSchemaByTags(Collections.singletonList(title));
114-
String author = DIDService.ensureDidForName(authorName, authorDidMethod);
116+
String author = didService.ensureDidForName(authorName, authorDidMethod);
115117
String authored = Instant.now().toString();
116118
((ObjectNode) schema).set("author", JsonNodeFactory.instance.textNode(author));
117119
((ObjectNode) schema).set("authored", JsonNodeFactory.instance.textNode(authored));

java/registry/src/main/java/dev/sunbirdrc/registry/service/DIDService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.slf4j.LoggerFactory;
1616
import org.springframework.beans.factory.annotation.Autowired;
1717
import org.springframework.beans.factory.annotation.Value;
18+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1819
import org.springframework.http.HttpEntity;
1920
import org.springframework.http.HttpHeaders;
2021
import org.springframework.http.MediaType;
@@ -29,6 +30,7 @@
2930
import static dev.sunbirdrc.registry.middleware.util.Constants.*;
3031

3132
@Component
33+
@ConditionalOnProperty(value = "did.enabled", havingValue = "true")
3234
public class DIDService implements HealthIndicator {
3335
private static final Logger logger = LoggerFactory.getLogger(DIDService.class);
3436
@Value("${did.healthCheckURL}")
@@ -120,7 +122,7 @@ public String generateDid(String method, Map<String, Object> content) {
120122

121123
public JsonNode resolveDid(String didId) {
122124
try {
123-
ResponseEntity<String> response = retryRestTemplate.getForEntity(resolveIdUrl + "/" + didId);
125+
ResponseEntity<String> response = retryRestTemplate.getForEntity(resolveIdUrl, didId);
124126
if (response.getStatusCode().is2xxSuccessful()) {
125127
return JSONUtil.convertStringJsonNode(response.getBody());
126128
}

java/registry/src/main/java/dev/sunbirdrc/registry/service/impl/SignatureV2ServiceImpl.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import dev.sunbirdrc.registry.exception.SignatureException;
1313
import dev.sunbirdrc.registry.middleware.util.JSONUtil;
1414
import dev.sunbirdrc.registry.service.CredentialSchemaService;
15+
import dev.sunbirdrc.registry.service.DIDService;
1516
import dev.sunbirdrc.registry.service.ICertificateService;
1617
import dev.sunbirdrc.registry.service.SignatureService;
1718
import org.apache.commons.lang3.exception.ExceptionUtils;
@@ -56,8 +57,10 @@ public class SignatureV2ServiceImpl implements SignatureService, ICertificateSer
5657
@Value("${signature.v2.getRevocationListURL}")
5758
private String getRevocationListURL;
5859

59-
private static final String credentialMethod = "rcw";
60-
private static final String credentialIssuerMethod = "abc";
60+
@Value("${signature.v2.credentialDidMethod}")
61+
private String credentialMethod;
62+
@Value("${signature.v2.issuerDidMethod}")
63+
private String credentialIssuerMethod;
6164

6265
@Autowired
6366
protected RetryRestTemplate retryRestTemplate;
@@ -66,7 +69,7 @@ public class SignatureV2ServiceImpl implements SignatureService, ICertificateSer
6669
@Autowired
6770
private CredentialSchemaService credentialSchemaService;
6871
@Autowired
69-
private dev.sunbirdrc.registry.service.DIDService DIDService;
72+
private DIDService didService;
7073

7174
@Override
7275
public Object sign(Map<String, Object> propertyValue) throws SignatureException.UnreachableException, SignatureException.CreationException {
@@ -99,7 +102,7 @@ public boolean verify(Object propertyValue) throws SignatureException.Unreachabl
99102

100103
@Override
101104
public String getKey(String keyId) throws SignatureException.UnreachableException, SignatureException.KeyNotFoundException {
102-
ObjectNode didDocument = (ObjectNode) DIDService.resolveDid(keyId);
105+
ObjectNode didDocument = (ObjectNode) didService.resolveDid(keyId);
103106
ArrayNode verificationMethods = (ArrayNode) didDocument.get("verificationMethod");
104107
AtomicReference<JsonNode> verificationMethod = new AtomicReference<>();
105108
verificationMethods.elements().forEachRemaining(vm -> {
@@ -131,7 +134,7 @@ public Object getCertificate(JsonNode credentialId, String entityName, String en
131134
return getCredentialById(credentialId.asText(), mediaType, templateId, template);
132135
}
133136

134-
private JsonNode issueCredential(String title, Object credentialTemplate, JsonNode input) throws Exception {
137+
public JsonNode issueCredential(String title, Object credentialTemplate, JsonNode input) throws Exception {
135138
// Render the credential using credential template
136139
Handlebars hb = new Handlebars();
137140
String templateJsonString = null;
@@ -152,7 +155,7 @@ private JsonNode issueCredential(String title, Object credentialTemplate, JsonNo
152155

153156

154157
// ensure issuer did
155-
String issuerDid = DIDService.ensureDidForName(credential.get("issuer").asText(), credentialIssuerMethod);
158+
String issuerDid = didService.ensureDidForName(credential.get("issuer").asText(), credentialIssuerMethod);
156159
credential.set("issuer", JsonNodeFactory.instance.textNode(issuerDid));
157160

158161
// Wire the create credential request payload

java/registry/src/main/resources/application.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ did:
357357
enabled: ${did_enabled:false}
358358
healthCheckURL: ${did_health_check_url:http://localhost:3332/health}
359359
generateURL: ${did_generate_url:http://localhost:3332/did/generate}
360-
resolveURL: ${did_resolve_url:http://localhost:3332/did/resolve}
360+
resolveURL: ${did_resolve_url:http://localhost:3332/did/resolve/{id}}
361361

362362
signature:
363363
enabled: ${signature_enabled:false}
@@ -369,13 +369,17 @@ signature:
369369
keysURL: ${keys_url:http://localhost:8013/keys/}
370370
domain: ${domain_url:https://w3id.org/security/v1/}
371371
v2:
372+
credentialDidMethod: ${signature_v2_credential_did_method:rcw}
373+
issuerDidMethod: ${signature_v2_issuer_did_method:issuer}
372374
healthCheckURL: ${signature_v2_health_check_url:http://localhost:3000/health}
373375
issueCredentialURL: ${signature_v2_issue_url:http://localhost:3000/credentials/issue}
374376
getCredentialByIdURL: ${signature_v2_get_url:http://localhost:3000/credentials/{id}}
375377
deleteCredentialByIdURL: ${signature_v2_delete_url:http://localhost:3000/credentials/{id}}
376378
verifyCredentialURL: ${signature_v2_verify_url:http://localhost:3000/credentials/{id}/verify}
377379
getRevocationListURL: ${signature_v2_revocation_list_url:http://localhost:3000/credentials/revocation-list?issuerId={issuerDid}&page={page}&limit={limit}}
378380
schema:
381+
author: ${signature_v2_schema_author:Registry}
382+
authorDidMethod: ${signature_v2_schema_author_did_method:author}
379383
healthCheckURL: ${signature_v2_schema_health_check_url:http://localhost:3333/health}
380384
createSchemaURL: ${signature_v2_schema_create_url:http://localhost:3333/credential-schema}
381385
updateSchemaURL: ${signature_v2_schema_update_url:http://localhost:3333/credential-schema/{id}/{version}}

0 commit comments

Comments
 (0)