aboutsummaryrefslogtreecommitdiffstats
path: root/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java44
1 files changed, 12 insertions, 32 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java b/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java
index 37ea465758c..d2c914fc209 100644
--- a/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java
+++ b/container-disc/src/main/java/com/yahoo/container/jdisc/athenz/impl/AthenzIdentityProviderImpl.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.jdisc.athenz.impl;
-import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.inject.Inject;
import com.yahoo.component.AbstractComponent;
@@ -16,6 +15,8 @@ import java.security.KeyPair;
*/
public final class AthenzIdentityProviderImpl extends AbstractComponent implements AthenzIdentityProvider {
+ private final ObjectMapper objectMapper = new ObjectMapper();
+
private InstanceIdentity instanceIdentity;
private final String dnsSuffix;
@@ -29,47 +30,26 @@ public final class AthenzIdentityProviderImpl extends AbstractComponent implemen
}
// Test only
- AthenzIdentityProviderImpl(IdentityConfig config, ServiceProviderApi serviceProviderApi, AthenzService athenzService) throws IOException {
+ AthenzIdentityProviderImpl(IdentityConfig config,
+ ServiceProviderApi serviceProviderApi,
+ AthenzService athenzService) throws IOException {
KeyPair keyPair = CryptoUtils.createKeyPair();
this.domain = config.domain();
this.service = config.service();
- String signedIdentityDocument = serviceProviderApi.getSignedIdentityDocument();
- String ztsEndpoint = getZtsEndpoint(signedIdentityDocument);
- this.dnsSuffix = getDnsSuffix(signedIdentityDocument);
- this.providerUniqueId = getProviderUniqueId(signedIdentityDocument);
- String providerServiceName = getProviderServiceName(signedIdentityDocument);
+ String rawDocument = serviceProviderApi.getSignedIdentityDocument();
+ SignedIdentityDocument document = objectMapper.readValue(rawDocument, SignedIdentityDocument.class);
+ this.dnsSuffix = document.dnsSuffix;
+ this.providerUniqueId = document.providerUniqueId;
InstanceRegisterInformation instanceRegisterInformation = new InstanceRegisterInformation(
- providerServiceName,
+ document.providerService,
this.domain,
this.service,
- signedIdentityDocument,
+ rawDocument,
CryptoUtils.toPem(CryptoUtils.createCSR(domain, service, dnsSuffix, providerUniqueId, keyPair)),
true
);
- instanceIdentity = athenzService.sendInstanceRegisterRequest(instanceRegisterInformation, ztsEndpoint);
- }
-
- private static String getProviderUniqueId(String signedIdentityDocument) throws IOException {
- return getJsonNode(signedIdentityDocument, "provider-unique-id");
- }
-
- private static String getDnsSuffix(String signedIdentityDocument) throws IOException {
- return getJsonNode(signedIdentityDocument, "dns-suffix");
- }
-
- private static String getProviderServiceName(String signedIdentityDocument) throws IOException {
- return getJsonNode(signedIdentityDocument, "provider-service");
- }
-
- private static String getZtsEndpoint(String signedIdentityDocument) throws IOException {
- return getJsonNode(signedIdentityDocument, "zts-endpoint");
- }
-
- private static String getJsonNode(String jsonString, String path) throws IOException {
- ObjectMapper mapper = new ObjectMapper();
- JsonNode jsonNode = mapper.readTree(jsonString);
- return jsonNode.get(path).asText();
+ instanceIdentity = athenzService.sendInstanceRegisterRequest( instanceRegisterInformation, document.ztsEndpoint);
}
@Override