
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