de.cidaas.jwt.impl.PayloadImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cidaas-interceptor-spring-security Show documentation
Show all versions of cidaas-interceptor-spring-security Show documentation
Interceptor for Cidaas Java Spring Clients
package de.cidaas.jwt.impl;
import de.cidaas.jwt.interfaces.Claim;
import de.cidaas.jwt.interfaces.Payload;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectReader;
import java.util.*;
import static de.cidaas.jwt.impl.JsonNodeClaim.extractClaim;
/**
* The PayloadImpl class implements the Payload interface.
*/
class PayloadImpl implements Payload {
private final String issuer;
private final String subject;
private final List audience;
private final Date expiresAt;
private final Date notBefore;
private final Date issuedAt;
private final String jwtId;
private final Map tree;
private final ObjectReader objectReader;
PayloadImpl(String issuer, String subject, List audience, Date expiresAt, Date notBefore, Date issuedAt, String jwtId, Map tree, ObjectReader objectReader) {
this.issuer = issuer;
this.subject = subject;
this.audience = audience;
this.expiresAt = expiresAt;
this.notBefore = notBefore;
this.issuedAt = issuedAt;
this.jwtId = jwtId;
this.tree = tree != null ? Collections.unmodifiableMap(tree) : Collections.emptyMap();
this.objectReader = objectReader;
}
Map getTree() {
return tree;
}
@Override
public String getIssuer() {
return issuer;
}
@Override
public String getSubject() {
return subject;
}
@Override
public List getAudience() {
return audience;
}
@Override
public Date getExpiresAt() {
return expiresAt;
}
@Override
public Date getNotBefore() {
return notBefore;
}
@Override
public Date getIssuedAt() {
return issuedAt;
}
@Override
public String getId() {
return jwtId;
}
@Override
public Claim getClaim(String name) {
return extractClaim(name, tree, objectReader);
}
@Override
public Map getClaims() {
Map claims = new HashMap<>(tree.size() * 2);
for (String name : tree.keySet()) {
claims.put(name, extractClaim(name, tree, objectReader));
}
return Collections.unmodifiableMap(claims);
}
}