All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kuali.common.aws.json.jackson.AWSSessionCredentialsSerializer Maven / Gradle / Ivy

package org.kuali.common.aws.json.jackson;

import static org.kuali.common.aws.model.ImmutableAWSSessionCredentials.copyOf;
import static org.kuali.common.util.encrypt.Encryption.getDefaultEncryptor;

import java.io.IOException;

import org.kuali.common.aws.model.ImmutableAWSSessionCredentials;
import org.kuali.common.util.encrypt.Encryptor;

import com.amazonaws.auth.AWSSessionCredentials;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;

public final class AWSSessionCredentialsSerializer extends StdSerializer {

	public AWSSessionCredentialsSerializer() {
		super(AWSSessionCredentials.class);
	}

	private final Encryptor enc = getDefaultEncryptor();

	@Override
	public void serialize(AWSSessionCredentials credentials, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException {
		ImmutableAWSSessionCredentials immutable = copyOf(credentials);
		jgen.writeStartObject();
		jgen.writeFieldName("credentials");
		jgen.writeObject(immutable.getCredentials());
		jgen.writeStringField("sessionToken", enc.encrypt(immutable.getSessionToken()));
		jgen.writeEndObject();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy